设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是()。

题目
设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是()。

A.42,40,45,80,85,88
B.40,42,45,55,80,85
C.42,40,45,55,80,85
D.42,40,45,85,55,80
参考答案和解析
答案:C
解析:
快速排序是通过一趟排序将待排序的记录分割为独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序。本题选择第一个数为基准进行划分,分别从右边查找小于45的数和从左边找大于或等于45的数,不断进行交换,第一趟结束后,即得到第一次划分结果。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设一组初始记录关键字序列为20,18,22,16,30,19,则以20为中轴的一趟快速排序结果为19,30,16,20,18,22。

此题为判断题(对,错)。


正确答案:√

第2题:

设一组初始记录关键字序列为20,18,22,16,30,19,则根据这些初始关键字序列建成的初始堆为8,9。

此题为判断题(对,错)。


正确答案:×

第3题:

设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。

A、2,3,5,8,6

B、3,2,5,8,6

C、3,2,5,6,8

D、2,3,6,5,8


参考答案:C

第4题:

设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。

A.3
B.8
C.5
D.6

答案:A
解析:
因为待排序列中最大的数为三位数,所以需要进行3次。

第5题:

设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为()。

A.10,15,14,18,20,36,40,21
B.15,10,14,18,20,36,40,21
C.10,15,14,20,18,40,36,21
D.10,15,14,18,20,40,36,21

答案:A
解析:
快速排序的每趟排序在待排序列中选取一个数为基准,将序列划分为两段,一段的值比基准值小,另一段大于或等于基准值。在快速排序中通常有两个指针分别为i和j,j从后向前遍历,找第一个小于基准值的节点,将值交换,i从前向后遍历,找到第一个大于或等于基准值的节点,将值交换,重复此过程,直至i和j指向同一节点,一趟排序结束。

第6题:

设一组初始记录关键字序列为49,38,65,97,76,13,27,50,则以d=4为增量的一趟希尔排序结束后的结果为49,27,13,50,76,38,65,97。

此题为判断题(对,错)。


正确答案:×

第7题:

一组记录的关键字为(45,80,55,40,42,85),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为______。

A.(42,40,45,55,80,85)

B.(42,40,45,80,55,85)

C.(40,42,45,55,80,85)

D.(42,40,45,85,55,80)


正确答案:A
解析:本题考查快速排序算法。快速排序是通过一趟排序将待排序的记录分割为独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,已达到整个序列有序。本题选择第一个数为基准进行划分,分别从两端查找大于和小于基准的数,不断进行交换,第一趟结束后,即得到第一次划分结果。

第8题:

一组记录的关键字序列为(46,79,56,38,40,84)

(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元

素的过程,要求以升序排列)。

(2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。


参考答案(1)(2)

第9题:

设一组初始记录关键字的长度为8,则最多经过()趟插入排序可以得到有序序列。

A.8
B.7
C.9
D.6

答案:B
解析:
插入排序的每一趟在待排元素中取出第一个元素,移至有序序列的适当的位置,所以共八个关键字的序列,最多经过7趟插入排序就可以得到一个有序序列。

第10题:

设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为()。

A.4
B.6
C.5
D.7

答案:A
解析:

更多相关问题