数据结构及应用算法教程习题第三章 排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章排序

一、选择题

1.某内排序方法的稳定性是指( D )。

A.该排序算法不允许有相同的关键字记录、

B.该排序算法允许有相同的关键字记录

C.平均时间为0(n log n)的排序方法 D.以上都不对

2.下面给出的四种排序法中( )排序法是不稳定性排序法。

A. 插入

B. 冒泡

C. 二路归并

D. 快速排序3.下列排序算法中,其中( CD )是稳定的。

A. 堆排序,冒泡排序

B. 快速排序,堆排序

C. 直接选择排序,归并排序

D. 归并排序,冒泡排序

6.若要求尽可能快地对序列进行稳定的排序,则应选( B )。

A.快速排序 B.归并排序 C.冒泡排序

12.排序趟数与序列的原始状态有关的排序方法是( D )排序法。

A.插入 B. 选择 C. 冒泡 D. 快速

17.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的( C )的两趟排序后的结果。

A.选择排序 B.冒泡排序 C.插入排序

18.数据序列(2,1,4,9,8,10,6,20)只能是下列排序算法中的( A )的两趟排序后的结果。

A. 快速排序

B. 冒泡排序

C. 选择排序

D. 插入排序19.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 84

47 (4) 15 21 25 47 84,则采用的排序是 ( A )。

A. 选择

B. 冒泡

C. 快速

D. 插入24.下列序列中,( D )是执行第一趟快速排序后所得的序列。

A. [68,11,18,69] [23,93,73]

B. [68,11,69,23] [18,93,73]

C. [93,73] [68,11,69,23,18]

D. [68,11,69,23,18] [93,73]

28.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( C )排序。

A.冒泡 C. 快速 D. 堆

31. 就平均性能而言,目前最好的内排序方法是( D )排序法。

A. 冒泡 C. 交换 D. 快速

36.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。

A. 插入

B. 选择

C. 希尔

D. 二路归并

37. 在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是()。

A. 选择

B. 冒泡

C. 插入

D. 堆

38.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

A. 94,32,40,90,80,46,21,69 B. 32,40,21,46,69,94,90,80 C. 21,32,46,40,80,69,90,94 D. 90,69,80,46,21,32,94,40 40. 若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行

()次比较。

A. 3

B. 10

C. 15

D. 25

43.对下列关键字序列用快速排序法进行排序时,速度最快的情形是()。

A. {21,25,5,17,9,23,30} B.{25,23,30,17,21,5,9}

C. {21,9,17,30,25,23,5} D. {5,9,17,21,23,25,30}

44.对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为( B )。

A. (2,5,12,16)28(60,32,72)

B. (5,16,2,12)28(60,32,72)

C. (2,16,12,5)28(60,32,72)

D. (5,16,2,12)28(32,60,72)

48. 快速排序方法在()情况下最不利于发挥其长处。

A. 要排序的数据量太大

B. 要排序的数据中含有多个相同值

C. 要排序的数据个数为奇数

D. 要排序的数据已基本有序

三、填空题

1.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的______和记录的_____。

3. 属于不稳定排序的有__________。

6.直接插入排序用监视哨的作用是_______。

7.对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为_______。

13.从平均时间性能而言,__________排序最佳

15.快速排序在_____的情况下最易发挥其长处。

类似本题的另外叙述有:

(1)快速排序法在_____情况下最不利于发挥其长处,在_____情况下最易发挥其长处。

16.在数据表有序时,快速排序算法的时间复杂度是____。

参考答案:

一、选择题

部分答案解释如下:

18. 对于后三种排序方法两趟排序后,序列的首部或尾部的两个元素应是有序的两个极值,而给定的序列并不满足。

20. 本题为步长为3的一趟希尔排序。 24.枢轴是73。

64. 因组与组之间已有序,故将n/k个组分别排序即可,基于比较的排序方法每

组的时间下界为O (klog

2k),全部时间下界为O(nlog

2

k)。

二、判断题

部分答案解释如下:

5. 错误。例如冒泡排序是稳定排序,将4,3,2,1按冒泡排序排成升序序列,第一趟变成3,2,1,4,此时3就朝向最终位置的相反方向移动。 12. 错误。堆是n个元素的序列,可以看作是完全二叉树,但相对于根并无左小右大的要求,故其既不是二叉排序树,更不会是平衡二叉树。

22. 错误。待排序序列为正序时,简单插入排序比归并排序快。

三、填空题

1. 比较,移动

相关文档
最新文档