关键码序列( Q ,H , C , Y , P , A,M ,S ,R ,D ,F,X )若采用以首个元素为分界元素 的快速排序法(按照教材中第一种划分方法 写出各趟扫描的结果。
时间: 2024-06-13 16:08:23 浏览: 85
以下是关键码序列(Q,H,C,Y,P,A,M,S,R,D,F,X)采用以首个元素为分界元素的快速排序法的各趟扫描结果:
第一趟扫描结果为:C A D Y P H M S R F X Q
第二趟扫描结果为:A C D Y P H M S R F X Q
第三趟扫描结果为:A C D F P H M S R Y X Q
第四趟扫描结果为:A C D F P H M Q R Y X S
第五趟扫描结果为:A C D F H M P Q R Y X S
第六趟扫描结果为:A C D F H M P Q R S X Y
相关问题
关键码序列{Q,H,C,Y,P,A,M,S,R,D,F,X},若采用以首个元素为分界元素的快速排序法扫描一趟的结果是
首先,选择以首个元素 Q 为分界元素,将数组分成两部分:
{H, C, Y, P, A, M, S, R, D, F, X} 和 {}
接下来,对左边的部分进行快速排序。选择左边的首个元素 H 为分界元素,将左边的部分分成两部分:
{C, Y, P, A, M, S, R, D, F, X} 和 {}
接下来,对左边的部分进行快速排序。选择左边的首个元素 C 为分界元素,将左边的部分分成两部分:
{A} 和 {Y, P, M, S, R, D, F, X}
接下来,对左边的部分进行快速排序。此时只有一个元素,无需排序。
接下来,对右边的部分进行快速排序。选择右边的首个元素 Y 为分界元素,将右边的部分分成两部分:
{P, M, S, R, D, F, X} 和 {}
接下来,对左边的部分进行快速排序。选择左边的首个元素 P 为分界元素,将左边的部分分成两部分:
{M} 和 {S, R, D, F, X}
接下来,对左边的部分进行快速排序。此时只有一个元素,无需排序。
接下来,对右边的部分进行快速排序。选择右边的首个元素 S 为分界元素,将右边的部分分成两部分:
{R, D, F, X} 和 {}
接下来,对左边的部分进行快速排序。选择左边的首个元素 R 为分界元素,将左边的部分分成两部分:
{D, F} 和 {X}
接下来,对左边的部分进行快速排序。此时只有一个元素,无需排序。
接下来,对右边的部分进行快速排序。此时只有一个元素,无需排序。
接下来,对右边的部分进行快速排序。此时只有一个元素,无需排序。
最终的排序结果为:{A, C, D, F, H, M, P, R, S, X, Y}
设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,经过一次快速排序的结果是?
快速排序的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后对这两部分记录继续进行排序,以达到整个序列有序的目的。
以本题中的序列为例,我们可以选取最后一个元素 X 作为枢轴元素。然后将序列中小于 X 的元素移到 X 的左边,大于 X 的元素移到 X 的右边,得到以下序列:
(Q, H, C, Y, P, A, M, S, R, D, F, X)
|
pivot
经过一次分割后,枢轴元素 X 的位置已经确定,且左边的元素均小于 X,右边的元素均大于 X。接下来,我们可以递归地对左右两部分进行快速排序。
对左边的部分(Q, H, C, Y, P, A, M, S, R, D, F)进行快速排序,选取最后一个元素 F 作为枢轴元素,得到以下序列:
(C, A, D, F, Q, H, M, S, R, P, Y)
|
pivot
对右边的部分(X)进行快速排序,此时只有一个元素,也就是已经有序了。
最终得到的有序序列为:
(A, C, D, F, H, M, P, Q, R, S, X, Y)
阅读全文