排序算法是最常見,最基礎(chǔ)的算法,作者文集中記錄了兩種排序算法(插入排序,歸并排序)
歸并排序?qū)崿F(xiàn)原理是切刀流,先中間切一刀,再在左右兩邊的中間切一刀,一刀一刀切下去,最后當(dāng)子數(shù)組只剩一個元素時,將兩個子數(shù)組采用分別訪問的方法進(jìn)行排序。



以上圖片引用自:算法導(dǎo)論原書第三版
附上代碼截圖


那么這種算法效率如何呢?讓它對一個元素個數(shù)為5000,由大到小的數(shù)組進(jìn)行從小到大排序,來看一下運行時間

作者的另一篇文章附錄了同等情況下插入排序花的時間,是0.9秒左右的時間,而歸并排序只花了0.02秒的時間,由此可見算法效率差距之大。
github鏈接:https://github.com/zizhouwang/MergeSort