2024年10月java经典算法(一个点朝一个方向移动,计算下一点坐标算法)

 更新时间:2024-10-12

  ⑴java经典算法(一个点朝一个方向移动,计算下一点坐标算法

  ⑵一个点朝一个方向移动,计算下一点坐标算法

  ⑶我想你要问的是这道经典算法题目:有一点在数轴的整数格点上运动,每个时刻向同一个方向移动固定的整数格数,不知道该点的初始位置和移动速度。现每个时刻能检查一个整数坐标对应位置上有无该点,求一定能找到该点的算法。现简述算法思路:设点的运动方程为x=kt+x,其中x为坐标,t为时间,k,x为我们要求的两整数。现以k,t为轴画出平面格点阵,k,x的解变为此平面格点阵中的一个点的坐标,从原点开始螺旋向外检测即可遍历平面中每一个点,程序一定在某一时刻能找到解。

  ⑷求经典的递归算法以及案例(可用C#、PHP、JAVA其中一种语言来写!

  ⑸这样,我们可以发现一个规律:F(,,,……n)=F(,,,……n-)和n比较F(,,,……n-)=F(,,,……n-)和n-比较……F(,,)=F(,)和比较F(,)=结果(并回代相应的递归函数如下(C#):CodeintMax(intnumbers){if(numbers.Length==){return(numbers);}else{int;for(inti=;i《numbers.Length-;++i){tempnumbers;}return(Max(tempnumbers)》numbers}}

  ⑹java经典算法题——猴子吃桃

  ⑺publilassMonkey{publicstaticvoidmain(Stringargs){intsum=,remain=;//每天吃剩的桃子加一个正好是前一天桃子的一半,每天桃子的总数就是前一天剩下桃子的数量for(intday=;day》=;day--){sum=(remain+)*;remain=sum;System.out.println(“第“+day+“天还剩“+remain+“个桃子“);}System.out.println(sum);}}

  ⑻学java是否要学算法

  ⑼如果您是刚开始学的话我觉得没有必要,毕竟算法这东西没有什么更新,也没有什么更新的算法,大部分都是些老的经典算法最重要的就是可能你以后的工作中用到算法的地方很少很少,除非去做一些比较大的项目或者是一些比较特殊的比如百度啊,GOOGLE啊这种搜索的,肯定需要算法来提高运行速度,搜索速度而以后要是做些比较小的项目,只是几十个人用的话,很可能不存在速度的快慢问题,就不是特别有必要啦

  ⑽推荐一点学习java数据结构和算法比较经典的书籍

  ⑾数据结构和算法是和编程语言没有关系的,不管你学C,C++或者java,数据结构和算法都是一样的。数据结构市面上书非常多,而且基本都一样没有大区别的,拣个清华什么编的就成,算法最好的是《Theintroductionofalgorithm》,不过市面上只有影印的,没有翻译的。南京大学的cs系自己有本内部自己翻译的,有同学的话去借吧。Java经典的书基本就是《java编程思想》(ThinkinginJava和《java核心技术》JavaCore,开始看javacore的第一卷起步还是很合适的。

  ⑿求JAVA冒泡排序法的代码

  ⒀你好!很高兴能帮到你。由于你刚学Java,所以一些编程规范是需要注意的,而我提供给你的答案看起来虽然有点复杂,不过采用了面向对象的编程思想,尽量做到低耦合高内聚,同时冒泡算法也做了升级,为冒泡的高级快速排序算法,不过为了对比,也保存了传统的冒泡算法。需要讲解一下,算法本身不难,难在如何做到编程规范、以及方便修改、易于修改、使得程序灵活、低耦合高内聚。算法部分请看Bubble类,里面有两种算法,有注释。主类为TestBubble,主要用于调用Bubble对象运行算法、StuInfo对象提供学生作者信息、Info对象提供运行过程中提示信息。运行结果如下(Bubble类为核心算法类:************************************run:请输入您将要输入整数的个数:请输入一串数字进行冒泡排序,注意:每次只输入一个,输完则回车::::::::::初始序列的数组为:学号:*班级:软件班姓名:叶科良排序好的数组为:源代码如下:***************************************************packagetestBubble;importjava.io.Reader;importjava.util.Scanner;/****authoryekeliang*/publilassTestBubble{privatemandLineBubbleRunnermandLineBubbleRunner;privateintarraySize;privateintintArray;privateStuInfostuInfo;privateInfoinfo;/***测试方法*paramargs*/publicstaticvoidmain(Stringargs){TestBubbletest=newTestBubble();}/***构造方法*调用初始化学生数据、接收命令行整数、展示结果个成员方法*/publicTestBubble(){initMemb();initData();runBubble();showResult(this.getIntArray());}/***初始化学生数据*/privatevoidinitData(){stuInfo.setStuNum(“*“);stuInfo.setStuClass(“软件班“);stuInfo.setStuName(“叶科良“);info.setInputIntNumInfo(“请输入您将要输入整数的个数:“);info.setInputIntInfo(“请输入一串数字进行冒泡排序,注意:每次只输入一个,输完则回车“);info.setShowInputInfo(“初始序列的数组为:“);info.setShowResultInfo(“排序好的数组为:“);info.setInputErrorInfo(“对不起,输入有误!请输入整数.“);}/***接收命令行整数,使用冒泡算法*/privatevoidrunBubble(){try{System.out.println(info.getInputIntNumInfo());setArraySize(getmandLineBubbleRunner().getArraySize());System.out.println(info.getInputIntInfo());setIntArray(getmandLineBubbleRunner().getAeptAsIntArray(getArraySize()));System.out.println(info.getShowInputInfo());getmandLineBubbleRunner().showAeptAsIntArray(getIntArray());Bubble.quick(getIntArray());}catch(java.util.InputMismatchExceptione){System.out.println(info.getInputErrorInfo());}}/***展示结果*/privatevoidshowResult(intintArray){System.out.println(“

  ⒁“+stuInfo.toString());System.out.println(info.getShowResultInfo());for(inti=;i《intArray.length;i++){System.out.print(intArray+““);}}privatevoidinitMemb(){stuInfo=newStuInfo();info=newInfo();mandLineBubbleRunner=newmandLineBubbleRunner();}publiommandLineBubbleRunnergetmandLineBubbleRunner(){returnmandLineBubbleRunner;}publicvoidsetmandLineBubbleRunner(mandLineBubbleRunnermandLineBubbleRunner){this.mandLineBubbleRunner=mandLineBubbleRunner;}publicintgetArraySize(){returnarraySize;}publicvoidsetArraySize(intarraySize){this.arraySize=arraySize;}publicintgetIntArray(){returnintArray;}publicvoidsetIntArray(intintArray){this.intArray=intArray;}privatevoidgetStuInfo(){}}/****author叶科良*/classmandLineBubbleRunner{publicintnum;//输入整数个数/***从命令行中读取需要输入的整数个数*return需要输入的整数个数*/publicintgetArraySize(){Scannerreader=newScanner(System.in);num=reader.nextInt();returnnum;}/***指定数组大小,从命令行接收整数*paramarraySize数组大小*return原始整数数组*/publicintgetAeptAsIntArray(intarraySize){int;Scannerreader=newScanner(System.in);for(inti=;i《getNum();i++){System.out.print((i+)+“:“);aeptArray=reader.nextInt();}returnaeptArray;}/***打印原始输入数据*paramintArray*/publicvoidshowAeptAsIntArray(intintArray){for(inti=;i《getNum();i++){System.out.print(intArray+““);}}/***取得数组大小*return*/publicintgetNum(){returnnum;}}classBubble{/***给定一个数组,使用冒泡算法进行排序*paramaeptArray给定的一个数组*return排序好的数组*/publicstaticintaeptArray){inti,temp;for(i=;i《(aeptArray.length-);i++){//两两进行比较,符合条件的进行交换if(aeptArray){temp=aeptArray;aeptArray;aeptArray=temp;}}returnaeptArray;}/***快速冒泡排序算法*paramr输入的整数数组*paramfirst数组第一个下标*paramend数组最后一个下标*return排好序的整数数组*/publicstaticintpartition(intr,intfirst,intend){inti,j;i=first;j=end;while(i《j){while(i《j&&r){j--;}if(i《j){inttemp;temp=r;r;r=temp;}}returni;}publicstaticvoidquick(intr,intfirst,intend){//利用递归反复划分if(first《end){intpivot=partition(r,first,end);//调用划分函数quick(r,first,pivot-);quick(r,pivot+,end);}}publicstaticintr){quick(r,,r.length-);returnr;}}classInfo{privateStringinputIntNumInfo;//提示用户输入整数个数的消息语句privateStringinputIntInfo;//提示用户输入整数的消息语句privateStringshowInputInfo;//提示显示用户输入整数的消息语句privateStringinputErrorInfo;//提示用户输入有误消息语句privateStringshowResultInfo;//提示显示排序结果publicStringgetInputIntNumInfo(){returninputIntNumInfo;}publicvoidsetInputIntNumInfo(StringinputIntNumInfo){this.inputIntNumInfo=inputIntNumInfo;}publicStringgetInputIntInfo(){returninputIntInfo;}publicvoidsetInputIntInfo(StringinputIntInfo){this.inputIntInfo=inputIntInfo;}publicStringgetShowInputInfo(){returnshowInputInfo;}publicvoidsetShowInputInfo(StringshowInputInfo){this.showInputInfo=showInputInfo;}publicStringgetInputErrorInfo(){returninputErrorInfo;}publicvoidsetInputErrorInfo(StringinputErrorInfo){this.inputErrorInfo=inputErrorInfo;}publicStringgetShowResultInfo(){returnshowResultInfo;}publicvoidsetShowResultInfo(StringshowResultInfo){this.showResultInfo=showResultInfo;}}classStuInfo{privateStringstuNum;//学生学号privateStringstuName;//学生姓名privateStringstuClass;//学生班级OverridepublicStringtoString(){return“学号:“+getStuNum()+“班级:“+getStuClass()+“姓名:“+getStuName();}publicStringgetStuNum(){returnstuNum;}publicvoidsetStuNum(StringstuNum){this.stuNum=stuNum;}publicStringgetStuName(){returnstuName;}publicvoidsetStuName(StringstuName){this.stuName=stuName;}publicStringgetStuClass(){returnstuClass;}publicvoidsetStuClass(StringstuClass){this.stuClass=stuClass;}}

您可能感兴趣的文章:

相关文章