排序比較之歸並排序與快速排序


異同點:

  

雖然在於算法的區別主要在於遞歸實現的時機不同,在一些細節上也有着一些區別:

  快速排序:

  進行選擇排序的時候,如果一輪還沒有排序結束,會暫時將比中心值小的數放在緊挨着中心值的右邊,並設置一個游標來控制這些數的下標,每找到一個小於的數就將游標的值加一換到下一個,直到一輪排序結束后,再將中心值和此時的游標交換位置,以達到左邊的數字小於游標的值,此時再用遞歸的方法排序左邊的值或者右邊的值。

  歸並排序:

  對於歸並排序來說 會將數組先划分再排序,先會划分一小段將一小段排序,當有序后會排序下一小段,兩個都為有序的時候,會將這兩個歸並,就是將兩個有序的數組合並為一個有序的數組(注意,這種是自頂向下的排序方法)
  而自底向上的方法則是分組后將每小組都排為有序的,再兩兩一排序,得到最后的整體有序

以上為個人觀點,歡迎討論批評··


免責聲明!

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



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