Timsort

Timsort 是一種混合穩定的排序算法 ， 源自合併排序和插入排序 ， 旨在較好地處理真實世界中各種各樣的數據 。 它使用了 Peter Mcllroy 的 " 樂觀排序和信息理論上覆雜性 " 中的技術 ， 參見 第四屆年度ACM - SIAM離散算法研討會論文集 ， 第467 - 474頁 ， 1993年 。 它由 Tim Peters 在2002年實現 ， 並應用於 Python編程語言 。 該算法通過查找已經排好序的數據子序列 ， 在此基礎上對剩餘部分更有效地排序 。 該算法通過不斷地將特定子序列 （ 稱爲一個 run ） 與現有的 run 合併 ， 直到滿足某些條件爲止來達成的更有效的排序 。 從 2.3 版本起 ， Timsort 一直是 Python 的標準排序算法 。 它還被 Java SE7, Android platform, GNU Octave, 谷歌瀏覽器, 和 Swift 用於對非原始類型的數組排序 。