為什么快速排序是不穩定的


排序算法不穩定的含義

在排序之前,有兩個數相等,但是在排序結束之后,它們兩個有可能改變順序,這就是說明該排序算法具有不穩定性。

快排不穩定

假設待排序數組: a = [ 1, 2, 2, 3, 4, 5, 6 ];

在快速排序的隨機選擇比較子(即pivot)階段:

若選擇a[2](即數組中的第二個2)為比較子,而把大於等於比較子的數均放置在大數數組中,則a[1](即數組中的第一個2)會到pivot的右邊, 那么數組中的兩個2非原序(這就是“不穩定”)。

若選擇 a[1] 為比較子,而把小於等於比較子的數均放置在小數數組中,則數組中的兩個 2 順序也非原序 。

這就說明,quick sort是不穩定的。


免責聲明!

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



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