算法导论学习笔记——第7章 快速排序

快速排序

 1 QUICKSORT(A,p,r)
 2 if p<r
 3     then q←PARTITION(A,p,r)
 4         QUICKSORT(A,p,q-1)
 5         QUICKSORT(A,q+1,r)
 6 
 7 PARTITION(A,p,r)
 8 x←A[r]
 9 i←p-1
10 for j←p to r-1
11     do if A[j]<=x
12         then i←i+1
13             exchange A[i]↔A[j]
14 exchange A[i+1]↔A[r]
15 return i+1

随机化快速排序,不再选择r为主元,而是随机选择一个主元,并放到r位置

 1 RANDOMIZED-PARTITION(A,p,r)
 2 i←RANDOM(p,r)
 3 exchange A[r]↔A[i]
 4 return PARTITION(A,p,r)
 5 
 6 RANDOMIZED-QUICKSORT(A,p,r)
 7 if p<r
 8     then q←RANDOMIZED-PARTITION(A,p,q-1)
 9         RANDOMIZED-QUICKSORT(A,p,q-1)
10         RANDOMIZED-QUICKSORT(A,q+1,r)

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。