數據結構:下列選項中,不可能是快速排序第2趟排序結果的是(2019年全國試題10)


題目
排序過程中,對尚未確定最終位置的所有元素進行一遍處理稱為一“趟”。下列排序中,不可能是快速排序第二趟結果的是()【2019年全國試題10(2分)】

A. 5, 2, 16, 12, 28, 60, 32, 72
B. 2, 16, 5, 28, 12, 60, 32, 72
C. 2, 12, 16, 5, 28, 32, 72, 60
D. 5, 2, 12, 28, 16, 32, 72, 60

題解
答案:D,分析如下。

每經過一趟快排,軸點元素都必然就位。也就是說,一趟下來至少有1個元素在其最終位置。所以考察各個選項,看有幾個元素就位即可。

最終排序位置是:2, 5, 12, 16, 28, 32, 60, 72,而選項中正確的位置有:

A. 5, 2, 16, 12, 28, 60, 32, 72
B. 2, 16, 5, 28, 12, 60, 32, 72
C. 2, 12, 16, 5, 28, 32, 72, 60
D. 5, 2, 12, 28, 16, 32, 72, 60

第一趟排序,確定一個元素位置
第二趟排序,又確定一個或兩個元素位置
1.當第一趟元素確認的位置為最左或最右時,第二趟排序只能確認一個位置(A,B選項情況)
2.當第一趟元素確認位置不是最左或最右時,第二趟能確認2個位置(C選項情況)
所以,兩趟排序共確認2或3個元素位置。(更准確的描述至少確定兩個元素的位置)
D選項:如果第一次以12為軸,那么第二次在進行比12小的關鍵字的快排中無論選擇5還是2位軸,5和2應該是有序的;同理如果第一次以32位軸,那么第二次72和60應該是有序的,而D兩種情況都不符合,所以錯誤。


免責聲明!

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



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