java常用基本算法

java常用基本算法

ID:6336196

大小:89.00 KB

页数:12页

时间:2018-01-10

java常用基本算法_第1页
java常用基本算法_第2页
java常用基本算法_第3页
java常用基本算法_第4页
java常用基本算法_第5页
资源描述:

《java常用基本算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、4.1算法前面我们已经讲过,程序=数据结构+算法。什么是算法?对一个现有的问题我们采取的解决过程及方法,即为算法。一个用算法实现的程序会耗费两种资源:处理时间和内存。算法的效率分析标准:时间复杂度空间复杂度简单性和清晰性对于时间复杂度,可以通过System.currentTimeMillis()方法来测试。例如:publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(System.currentTimeMillis());fun();System.out

2、.println(System.currentTimeMillis());}publicstaticvoidfun(){doublea=0;for(inti=0;i<10000;i++)for(intj=0;j<10000;j++)for(intk=0;k<100;k++)a++;}}前后两次获得当前系统时间的差值就是运行所消耗的时间(毫秒为单位)。通过System.currentTimeMillis()方法来测试的缺点:a.不同的平台执行的时间不同b.有些算法随着输入数据的加大,测试时间会变得不切实际!4.2查找4.2.1查找之线性查

3、找(直接查找)算法思路:从数组的第一个元素开始查找,并将其与查找值比较,如果相等则停止,否则继续下一个元素查找,直到找到匹配值。注意:被查找的数组中的元素可以是无序的、随机的。实例:importjava.util.*;publicclassDemo1{publicstaticvoidmain(Stringargs[]){intiArr[]={32,9,78,44,29,18,97,49,56,61};System.out.println("数组的所有元素为:");for(inti:iArr)System.out.print(i+"");

4、System.out.println();System.out.print("请输入你要查找的元素:");Scannerscan=newScanner(System.in);intiNum=scan.nextInt();intindex=straightSearch(iArr,iNum);if(index==-1)System.out.println("没有找到元素"+iNum);elseSystem.out.println("找到元素"+iNum+",下标为:"+index);}publicstaticintstraightSearc

5、h(int[]arr,intnum){inti=0;for(;i

6、有序排列的各种数组或集合。实例://不利用递归实现importjava.util.*;publicclassDemo1{publicstaticvoidmain(Stringargs[]){intiArr[]={1,2,3,4,6,8,22,44,99,111,112,116};System.out.println("数组的所有元素为:");for(inti:iArr)System.out.print(i+"");System.out.println();System.out.print("请输入你要查找的元素:");Scannersc

7、an=newScanner(System.in);intiNum=scan.nextInt();intindex=binarySearch(iArr,iNum,0,iArr.length-1);if(index==-1)System.out.println("没有找到元素"+iNum);elseSystem.out.println("找到元素"+iNum+",下标为:"+index);}publicstaticintbinarySearch(int[]arr,intnum,intiMin,intiMax){while(iMin<=iMa

8、x){intiMid=(iMin+iMax)/2;if(num==arr[iMid])returniMid;elseif(num

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。