[資訊] 排序演算法: TimSort

Timsort原理介紹
https://blog.csdn.net/yangzhongblog/article/details/8184707

Timsort排序演算法
https://www.zybuluo.com/zero1036/note/618233

深入探究TimSort對歸併排序演算法的優化及Java實現
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/317910/

【深度】扒開V8引擎的源碼,我找到了你們想要的前端演算法(下次面試官再問演算法,用它懟回去!)
https://mp.weixin.qq.com/s/pU-2MCdlnfFypnRNMB5jHA

TimSort是一種穩定性排序,結合了合併排序(merge sort)和插入排序(insertion sort)而得出的排序演算法,思想是先對待排序列進行分割槽,然後再對分割槽進行合併,看起來和MergeSort步驟一樣,但是其中有一些針對反向和大規模資料的優化處理。

Tim Peters在2002年設計了該演算法並在Python中使用(TimSort 是 Python 中 list.sort 的默認實現)。該演算法找到資料中已經排好序的塊-分區,每一個分區叫一個run,然後按規則合併這些run。Pyhton自從2.3版以來一直採用Timsort演算法排序,現在Java SE7和Android也採用Timsort演算法對陣列排序。
 

#TimSort, tim sort, merge sort, insertion sort

留言