zoukankan      html  css  js  c++  java
  • 几种排序算法性能比较

    统计了几种排序算法的比较和交换次数,以普通冒泡排序比较次数为100,做了一下数据处理,结果如下:
    说明:
    1.行中第一个是比较次数,第二个是交换次数。
    2.第一行是全部随机,第二行是前70%有序,后30%无序。
    3.数据个数是1000个。
    1.普通冒泡。
    100 50
    100 28
    2.带标记的冒泡。
    100 50
    99 28
    3.鸡尾酒排序。
    67 50
    48 28
    4.奇偶排序
    98 50
    97 28
    5.梳子排序
    5 1
    5 1
    6.地精排序。
    101 50
    57 28
    7.快速排序。
    2 1
    2 1
    8.选择排序。
    100 0
    100 0
    9.插入排序
    51 25
    29 14
    10.shell排序 (gap= n/2^i)
    3 1
    3 1
    11.shell排序 (gap= 3*gap+1)
    3 1
    3 1


    结论:
    1.最快的当然是快速排序。
    2.选择排序交换较少。还是有交换的,那个0是因为次数太少,四舍五入得出的。
    3.最简单的插入排序也比冒泡排序好。
    4.2,3,4,6,都是冒泡排序衍生的,比较次数不同,但交换次数是一样的。
    5.shell排序的gap选择除2跟其他比较,在排序数据少时,差别不大。

  • 相关阅读:
    初学JavaScript.一
    初学CSS.二
    初学CSS.一
    初学HTML.二
    初学HTML
    学习Javascript的第二天
    学习javascript的一天
    css02
    记录学习css的一天
    记录入门html第一天0
  • 原文地址:https://www.cnblogs.com/riskyer/p/3348049.html
Copyright © 2011-2022 走看看