数据结构课后习题第十章

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

1.在下列排序算法中,稳定的事(),平均速度最快的是(),所需辅助存储空间最多的是()。

A.希尔排序

B.快速排序

C.堆排序

D.归并排序

2.若要在O(n)数量级的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方式应该是()。

A.快速排序

B.堆排序

C.归并排序

D.希尔排序

3.在下列排序算法中,()算法的时间复杂度与初始排序无关。

A.直接插入排序

B.起泡排序

C.快速排序

D.直接选择排序

4.一组记录关键字序列是(46,79,56,38,40,84),则用堆排序方法建立的初始大根堆是()。

A.79,46,56,38,40,84

B.84,79,56,38,40,46

C.84,79,56,46,40,38

D.94,56,79,40,46,38

5.一组记录的关键字序列是(46,79,56,38,40,84),则用快速排序方法,以第一个关键字为支点,得到的第一次划分结果是()。

A.38,40,46,56,79,84

B.40,38,46,79,56,84

C.40,38,46,56,79,84

D.40,38,46,84,56,79

6.一组记录的关键字序列是(25,48,16,35,79,82,26,40,36,72),用二路归并排序方法进行排序,则第二趟归并的结果是()。

A.16,25,35,48,23,40,79,82,36,72

B.16,25,35,48,79,82,23,36,40,72

C.16,25,35,46,23,36,40,79,82,72

D.16,25,35,48,79,23,36,40,72,82

7.在以下排序方法中,关键字比较的次数与记录的初始排列次序有关的是()

A.归并排序

B.堆排序

C.插入排序

D.选择排序

8.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

A.堆排序

B.冒泡排序

C.希尔排序

D.快速排序

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

A.选择排序

B.冒泡排序

C.插入排序

D.堆排序

10.直接插入排序在最好的情况下,其时间复杂度为()

A.O(logn)

B.O(n)

C.O()

D.O(nlogn)

11.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化如下。

初始状态:84 47 25 15 21

第一趟:15 47 25 84 21

第二趟:15 21 25 84 47

第三趟:15 21 25 47 84

则采用的是()排序方法

A.选择

B.冒泡

C.快速

D.插入

12.下列排序算法中,()不能保证每趟排序至少能将一个元素放到其最终的位置上。

A. 快速排序

B.Shell排序

C.堆排序

D.冒泡排序

13.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()。

A.直接插入排序

B.冒泡排序

C.简单选择排序

D.快速排序

14.如果只想得到1000个元素组成的序列中第5个最小元素之间的部分排列序列,用()方法最快。

A.起泡排序

B.快速排序

C.Shell排序

D.堆排序

E. 简单选择排序

15.对初始状态为递增序列的表按递增顺序排序,最省时间的是()算法,最费时间的是()算法。

A.堆排序

B.快速排序

C.插入排序

D.归并排序

16.起泡排序在最好情况下的时间杂度为()。

A.O(logn)

B.O(n)

C.O(nlogn)

D.O(n²)

17.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序方法与初态无关,则可选择的排序方法是()。

A.快速排序 B.堆排序 C.归并排序 D.直接插入排序19.采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述

中,正确的是()。

A.递归次序与初始数据的排列次序无关

B.每次划分后先处理较长的分区可以减少递归次数

C.每次划分后先处理较短的分区可以减少递归次数

D.递归次数与每次划分后得到的分区处理次序无关

20.对一组数据(2,12,16,85,5,10)进行排序,若前三趟排序结果如下。

第一趟:2,12,16,5,10,88

第二趟:2,12,5,10,16,88

第三趟:2,5,10,12,16,88

则采用的排序方法可能是()。

A.冒泡排序法

B.希尔排序法

C.归并排序法

D.基数排序法

二、填空题

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

2.不受待排序初始序列的影响,时间复杂度为()的排序算法是()。

3.分别采用堆排序、快速排序、冒泡排序和归并排序,对初态为有序的表,最省时间的是()算法,最费时间的是()算法。

4.设有字符序列(Q,H,C,Y,P,A,M,S,E,D,F,X),则用初始步长为4的希尔排序方法将其按字符升序排序,第一趟扫描的结果是()。

5.快速排序的最大递归深度是(),最小递归深度是()。

相关文档
最新文档