关于堆排序,归并排序,快速排序的比较,到底谁快

如题所述

第1个回答  2018-01-06
种非平方级的排序:
希尔排序,堆排序,归并排序,快速排序
我测试的平均排序时间:数据是随机整数,时间单位是秒
数据规模 快速排序 归并排序 希尔排序 堆排序
1000万 0.75 1.22 1.77 3.57
5000万 3.78 6.29 9.48 26.54
1亿 7.65 13.06 18.79 61.31
堆排序是最差的。
这是算法硬伤,没办法的。因为每次取一个最大值和堆底部的数据(记为X)交换,重新筛选堆,把堆顶的X调整到位,有很大可能是依旧调整到堆的底部(堆的底部X显然是比较小的数,才会在底部),然后再次和堆顶最大值交换,再调整下来。
从上面看出,堆排序做了许多无用功。本回答被网友采纳
相似回答