• 几种排序算法性能比较


    统计了几种排序算法的比较和交换次数,以普通冒泡排序比较次数为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跟其他比较,在排序数据少时,差别不大。

  • 相关阅读:
    洛谷P3747 [六省联考2017]相逢是问候
    染色(dye)
    BZOJ1426: 收集邮票
    消息队列RabbitMQ
    CRM
    BBS
    版本控制
    RESTful API
    Luffy
    axios使用
  • 原文地址:https://www.cnblogs.com/riskyer/p/3348049.html
Copyright © 2020-2023  润新知