排序算法总结-java篇

排序算法总结-java篇

ID:14305983

大小:51.62 KB

页数:15页

时间:2018-07-27

排序算法总结-java篇_第1页
排序算法总结-java篇_第2页
排序算法总结-java篇_第3页
排序算法总结-java篇_第4页
排序算法总结-java篇_第5页
资源描述:

《排序算法总结-java篇》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、排序算法总结-Java篇1.插入排序基本操作:将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。时间复杂度:算法适用于少量数据的排序,时间复杂度为O(n^2)。稳定性:稳定。实现:1.首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。2.从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。3.重复2号步骤,直至原数列为空。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。

2、为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较,无论什么时候手中的牌都是排序好的。Java程序代码://插入排序packageSort;publicclassInsertSort{publicstaticvoidmain(String[]args){intt,temp,i,j;t=args.length;//输入数据的元素个数intnum[]=newint[t];//创建数组System.out.println("排序前:");for(i=0;i

3、ger.parseInt(args[i]);System.out.print(num[i]+"");}System.out.println("");//执行插入排序for(i=1;i0;j--){if(num[j]

4、int(num[a]+"");}System.out.println("");}//输出排序结果System.out.println("排序后:");for(i=0;i

5、素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。时间复杂度若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数 和记录移动次数均达到最小值:,。所以,冒泡排序最好的时间复杂度为 。  若初始文件是反序的,需要进行趟

6、排序。每趟排序要进行 次关键字的比较(1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值:冒泡排序的最坏时间复杂度为 。综上,因此冒泡排序总的平均时间复杂度为 。稳定性:稳定。Java程序代码://冒泡排序packageSort;publicclassBubbleSort{publicstaticvoidmain(String[]args){intt=args.length;//输入数据的元素个数intscore[]=newint[t];//排序前System.o

7、ut.println("排序前:");for(inti=0;i

8、(j的范围很关键,这个范围是在逐步缩小的)if(score[j]

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

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

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