排序算法-07归并排序(python实现)
生活随笔
收集整理的這篇文章主要介紹了
排序算法-07归并排序(python实现)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
歸并排序
- 概述
- 以歸并操作為基礎的排序算法,底層算法設計為分治法。
- 所謂分治法,就是講問題分解為多個子問題遞歸求解,再將子問題答案合并。
- 算法實現
- 將待排序序列分解為兩個,四個,,,n個子部分。
- 兩兩合并,并內部排序。
-
算法分析
- 這個算法描述比較簡單,然而實現起來略有難度,遞歸迭代法均可解。
-
復雜度
排序名稱最好情況最壞情況平均情況 歸并排序 O(nlog2n) O(nlog2n) O(nlog2n) - 穩定性
- 算法穩定。
- 優先選擇
- 從空間復雜度來考慮:首選堆排序,其次是快速排序,最后是歸并排序。
- 從穩定性來考慮,應選取歸并排序,因為堆排序和快速排序都是不穩定的。
- 從平均情況下的排序速度考慮,應該選擇快速排序。
具體可以查看我的github。?
總結
以上是生活随笔為你收集整理的排序算法-07归并排序(python实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序算法-06堆排序(python实现)
- 下一篇: 排序算法-08基数排序(python实现