设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码33被放到了第(26)个位置。

admin2010-01-17  10

问题 设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码33被放到了第(26)个位置。

选项 A、3
B、5
C、7
D、9

答案D

解析 本题考查快速排序的方法。快速排序采用了一种分治的策略,其具体过程如下:第一步,在待排序的n个记录中任取一个记录,以该记录的排序码为准,将所有记录分成两组,第1组各记录的排序码都小于等于该排序码,第2组各记录的排序码都大于该排序码,并把该记录排在这两组中间。第二步,采用同样的方法,对左边的组和右边的组进行排序,直到所有记录都排到相应的位置为止。要注意的是,在快速排序中,选定了第一个元素为基准,接着就拿最后一个元素和第一个元素比较,如果大于第一个元素,则保持不变;再拿倒数第二个元素和基准比较,如果小于基准,则进行交换。交换之后,再从前面的元素开始与基准比较,如果小于基准,则保持不变;如果大于基准,则交换。交换之后,再从后面开始比较,依此类推,前后交叉进行。根据上面给出的排序方法,题目中给出的排序关键码序列在经过一趟快速排序后得到的序列为(12,18,9,25,67,82,53,95,33,70)。因此关键码33被放到了第9个位置。
转载请注明原文地址:https://kaotiyun.com/show/VejZ777K
0

最新回复(0)