闲的无聊,预习数据结构的时候看到了几种排序的性能分析,就自己做了一下。
测试结果如下:单位(ms) RE:用时过长或爆栈
可见,快排在完全随机的数据下性能是最优的,在已经排序或者已经基本排序的前提下,即使是加了随机化的快排也会很慢,堆排在已经排序的情况下比随机情况下快了一倍多,归排也是,而且速度比堆排快很多,在各个情况下都很高效,C++自带的sort函数只有在已经排序的情况下是最快的(接近O(n))其他时候的速度并不是最快的但效率依旧很高。
快排的三者取中的优化在数据是顺序的情况下较快但在逆序的情况下很慢,随机化在顺序情况下较慢在逆序情况下较快,普通的快排在数据基本排序的前提下基本是O(n^2)的.
lc思念落叶
2014/12/28
时间: 2024-11-01 00:30:33