嵌入式100題(47):各種排序算法什么時候有最好情況、最壞情況(尤其是快排)


各種排序算法什么時候有最好情況、最壞情況(尤其是快排) 

  • 直接插入排序:最壞情況需要比較O(n^2)次(n(n - 1)/2次)(有爭議)。
  • 簡單選擇排序:無論是否最壞都需要O(n^2)次(n(n - 1)/2次)。
  • 冒泡排序:需要比較O(n^2)次(n(n - 1)/2次),即序列逆序的情況。
  • 堆排序:無論是否最壞比較O(nlog2n)次。
  • 快速排序:最壞情況退化為冒泡排序,需要比較O(n^2)次(n(n - 1)/2次)。
  • 二路歸並排序:比較和移動次數沒有好壞之分,都是O(n*log2n)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM