哪種排序算法最適合大多數排序數據?哪種排序算法最適合大多數排序數據?
3 回答

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
只有幾個項目=> INSERTION SORT
項目大多已經排序=> INSERTION SORT
關注最壞情況=> HEAP SORT
對平均案例結果感興趣=> QUICKSORT
物品來自密集的宇宙=> BUCKET SORT
希望編寫盡可能少的代碼=> INSERTION SORT

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
timsort
Timsort是“一種適應性,穩定,自然的融合”,具有“ 在多種部分有序陣列上的超自然表現(需要少于1g(N?。┑谋容^,以及少于N-1)”。Python的內置sort()
已經使用這個算法一段時間了,顯然效果很好。它專門用于檢測和利用輸入中部分排序的子序列,這些子序列通常出現在真實數據集中。在現實世界中通常情況下,比較比在列表中交換項目要昂貴得多,因為通常只是交換指針,這通常使得timsort成為一個很好的選擇。但是,如果您知道您的比較總是非常便宜(例如,編寫玩具程序以對32位整數進行排序),則存在其他可能表現更好的算法。利用timsort的最簡單方法當然是使用Python,但由于Python是開源的,你也可以借用代碼。或者,上面的描述包含足夠的細節來編寫您自己的實現。
添加回答
舉報
0/150
提交
取消