`
hanlingbo2008
  • 浏览: 80199 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java简单排序

阅读更多

简单排序有三种:冒泡排序,选择排序,插入排序

 

比较,交换,复制的概念--交换是复制的三倍

 

冒泡排序思想:1.比较两个数据2.如果左边的比右边的大则交。3.然后向右移动一个位置,重复1,2步

冒泡效率:比较次数=n*(n-1)/2  平均交换次数=n*n/4

冒泡不变性:下标右面的数据已经全部排好序;

 

选择排序思想:扫描所有数据,找出最小者,让最小者和第一个位置的数据交换;然后从第二个位置向后搜索找最小者,让最小者和第二个位置互换,依次类推直到最后一个数据;

选择排序效率:比较次数=n*(n-1)/2    平均交换次数比冒泡稍小

选择排序的不变性:下标左面的是已经排好序的数据。

 

插入排序思想:从第2个数据开始与第一数据比较,若第2个小于第1个就交换,然后将第三个插入有序队列的适当位置,继续第4个,直到最后。

插入排序效率:最多比较次数=n*(n-1)/2   平均比较次数=n*(n-1)/4 

 

 

总结:在大多数情况下,数据量比较小或基本上有序时,插入排序是三种里面最好的选择,对于更大量的数据来说,快速排序通常是最快的。

 

  • 大小: 112.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics