1. 程式人生 > >排序比較之歸併排序與快速排序

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

異同點:

  

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

  快速排序:

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

  歸併排序:

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

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