《数据结构》习题汇编09第九章排序试题

合集下载

(完整word版)《数据结构》习题集:第9章_查找

(完整word版)《数据结构》习题集:第9章_查找

(完整word版)《数据结构》习题集:第9章_查找第九章查找1.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,32.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为()。

A. O(1)B. O(log2n) C. O(n) D. O(n2) 5.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。

A. 25B. 10C. 7D. 16.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。

A. O(n)B. O(n2)C. O(n1/2)D. O(1og2n) 8.()二叉排序树可以得到一个从小到大的有序序列。

A. 先序遍历B.中序遍历C. 后序遍历D. 层次遍历9.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。

A. 1B. 2C. 3D. 410.设某散列表的长度为100,散列函数H(k)=k % P,则P通常情况下最好选择()。

A. 99B. 97C. 91D. 9311.在二叉排序树中插入一个关键字值的平均时间复杂度为()。

A. O(n)B. O(1og2n) C. O(nlog2n) D. O(n2)12.设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( )。

A. A[1],A[2],A[3],A[4]B.A[1],A[14],A[7],A[4]C.A[7],A[3],A[5],A[4]D. A[7],A[5] ,A[3],A[4]13.设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择()。

A. 小于等于m的最大奇数B.小于等于m的最大素数C. 小于等于m的最大偶数D. 小于等于m的最大合数14.设顺序表的长度为n,则顺序查找的平均比较次数为()。

数据结构第九章排序习题与答案

数据结构第九章排序习题与答案

习题九排序一、单项选择题1.下列内部排序算法中:A.快速排序 B.直接插入排序C. 二路归并排序D.简单选择排序E. 起泡排序F.堆排序(1)其比较次数与序列初态无关的算法是()(2)不稳定的排序算法是()(3)在初始序列已基本有序(除去n 个元素中的某 k 个元素后即呈有序, k<<n)的情况下,排序效率最高的算法是()(4)排序的平均时间复杂度为O(n?logn)的算法是()为 O(n?n) 的算法是()2.比较次数与排序的初始状态无关的排序方法是( )。

A.直接插入排序B.起泡排序C.快速排序D.简单选择排序3.对一组数据( 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. 选择B.冒泡C.快速D.插入4.下列排序算法中 ( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。

A. 选择B.冒泡C.归并D.堆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.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是()排序。

A.冒泡 B. 希尔C. 快速D. 堆7.就平均性能而言,目前最好的内排序方法是() 排序法。

A. 冒泡B.希尔插入C.交换D.快速8.下列排序算法中,占用辅助空间最多的是:()A. 归并排序B.快速排序C.希尔排序D.堆排序9.若用冒泡排序方法对序列 {10,14,26,29,41,52}从大到小排序,需进行()次比较。

《c语言数据结构》第9章 排序 自测卷 答案

《c语言数据结构》第9章   排序  自测卷  答案

第9章排序自测卷答案姓名班级一、填空题(每空1分,共24分)1. 大多数排序算法都有两个基本的操作:比较(两个关键字的大小)和移动(记录或改变指向记录的指针)。

2.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较3次。

(可约定为,从后向前比较)3.在插入和选择排序中,若初始数据基本正序,则选用插入排序(到尾部);若初始数据基本反序,则选用选择排序。

4.在堆排序和快速排序中,若初始记录接近正序或反序,则选用堆排序;若初始记录基本无序,则最好选用快速排序。

5.对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(n2)。

若对其进行快速排序,在最坏的情况下所需要的时间是O(n2)。

6.对于n个记录的集合进行归并排序,所需要的平均时间是O(nlog2n),所需要的附加空间是O(n)。

7.【计研题2000】对于n个记录的表进行2路归并排序,整个归并排序需进行log2n趟(遍),共计移动n log2n次记录。

(即移动到新表中的总次数!共log2n趟,每趟都要移动n个元素)8.设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:冒泡排序一趟扫描的结果是H, C, Q, P, A, M, S, R, D, F, X ,Y;初始步长为4的希尔(shell)排序一趟的结果是P, A, C, S, Q, D, F, X , R, H,M, Y;二路归并排序一趟扫描的结果是H, Q, C, Y,A, P, M, S, D, R, F, X ;快速排序一趟扫描的结果是F, H, C, D, P, A, M, Q, R, S, Y,X;堆排序初始建堆的结果是A, D, C, R, F, Q, M, S, Y,P, H, X。

9. 在堆排序、快速排序和归并排序中,若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法;若只从平均情况下最快考虑,则应选取快速排序方法;若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。

《数据结构》第九章作业参考答案

《数据结构》第九章作业参考答案

第九章查找9.3 画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。

解:判定树应当描述每次查找的位置:9.9已知如下所示长度为12的表:(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。

(2)若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平均查找长度。

(3)按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。

解:9.19解:H(22)=(3×22) mod 11=0 H(41)=(3×41) mod 11=2 H(53)=(3×53) mod 11=5 H(46)=(3×46) mod 11=6H(30)=(3×30) mod 11=2 冲突d1=(7×30) mod 10+1=1 H1(30)=(2+1)/11=3 H(13)=(3×13) mod 11=6 冲突d1=(7×13) mod 10+1=2 H1(13)=(6+2)/11=8 H(01)=(3×01) mod 11=3冲突d1=(7×1) mod 10+1=8 H1(01)=(3+8)/11=0冲突d2=2*((7×1) mod 10+1)=16 H2(01)=(3+16)/11=8冲突d3=3*((7×1) mod 10+1)=24 H3(01)=(3+24)/11=5冲突d4=4*((7×1) mod 10+1)=32 H4(01)=(3+32)/11=2冲突d5=5*((7×1) mod 10+1)=40 H5(01)=(3+40)/11=10H(67)=(3×67) mod 11=3冲突d1=(7×67) mod 10+1=10 H1(67)=(3+10)/11=2冲突d2=2*((7×67) mod 10+1)=20 H2(67)=(3+20)/11=1哈希表:ASL=(1+1+1+1+2+2+6+3)/8=17/8X。

《数据结构》习题汇编09-第九章-排序-试题

《数据结构》习题汇编09-第九章-排序-试题

数据结构课程(本科)第九章试题一、单项选择题1.若待排序对象序列在排序前已按其排序码递增顺序排列,则采用()方法比较次数最少。

A. 直接插入排序B. 快速排序C. 归并排序D. 直接选择排序2.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用()方法最快。

A. 起泡排序B. 快速排序C. 直接选择排序D. 堆排序3.对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

这样的排序方法是()。

A. 直接选择排序B. 直接插入排序C. 快速排序D. 起泡排序4.对5个不同的数据元素进行直接插入排序,最多需要进行()次比较?A. 8B. 10C. 15D. 255.如果输入序列是已经排好顺序的,则下列算法中()算法最快结束?A. 起泡排序B. 直接插入排序C. 直接选择排序D. 快速排序6.如果输入序列是已经排好顺序的,则下列算法中()算法最慢结束?A. 起泡排序B. 直接插入排序C. 直接选择排序D. 快速排序7.下列排序算法中()算法是不稳定的。

A. 起泡排序B. 直接插入排序C. 基数排序D. 快速排序8.假设某文件经过内部排序得到100个初始归并段,那么如果要求利用多路平衡归并在3 趟内完成排序,则应取的归并路数至少是()。

A. 3B. 4C. 5D. 69.采用任何基于排序码比较的算法,对5个互异的整数进行排序,至少需要()次比较。

A. 5B. 6C. 7D. 810.下列算法中()算法不具有这样的特性:对某些输入序列,可能不需要移动数据对象即可完成排序。

A. 起泡排序B. 希尔排序C. 快速排序D. 直接选择排序11.使用递归的归并排序算法时,为了保证排序过程的时间复杂度不超过O(nlog2n),必须做到()。

A. 每次序列的划分应该在线性时间内完成B. 每次归并的两个子序列长度接近C. 每次归并在线性时间内完成D. 以上全是12.在基于排序码比较的排序算法中,()算法的最坏情况下的时间复杂度不高于O(nlog2n)。

数据结构第9章-习题

数据结构第9章-习题

第九章查找一、选择题1.若查找每个记录的概率均等, 则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录, 其平均查找长度ASL为( )。

A.(n-1)/....B.n/....C.(n+1)/....D.n2.下面关于二分查找的叙述正确的. .. .A.表必须有序, 表可以顺序方式存储, 也可以链表方式存. C.表必须有序, 而且只能从小到大排列B.表必须有序且表中数据必须是整型, 实型或字符.... D.表必须有序, 且表只能以顺序方式存储3.用二分(对半)查找表的元素的速度比用顺序法.. )A. 必然...B.必然...C.相...D.不能确定4.具有12个关键字的有序表, 折半查找的平均查找长度..).A.3....... B....... C.2....... D.55. 当采用分块查找时, 数据的组织方式为 ( )A. 数据分成若干块, 每块内数据有序B. 数据分成若干块, 每块内数据不必有序, 但块间必须有序, 每块内最大(或最小)的数据组成索引块C.数据分成若干块, 每块内数据有序, 每块内最大(或最小)的数据组成索引块D.数据分成若干块, 每块(除最后一块外)中数据个数需相同6.二叉查找树的查找效率与二叉树的.(1))有关..((2))时其查找效率最低..(1). A.高.....B.结点的多...C.树....D.结点的位置..(2). A.结点太...B.完全二叉...C.呈单枝..D.结点太复杂。

7.对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找失败,它们的平均查找长度是((1).,对于查找成功,他们的平均查找长度是((2))供选择的答案.A.相同.......B.不同的9. 分别以下列序列构造二叉排序树, 与用其它三个序列所构造的结果不同的是( )A. (100, 80, 90, 60, 120, 110, 130)B.(100, 120, 110, 130, 80, 60, 90)C.(100,60.80.90.120,110,130.D.(100,80.60.90.120,130,110)10.在平衡二叉树中插入一个结点后造成了不平衡, 设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0右孩子的平衡因子为1,则应作.. .型调整以使其平衡。

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9一、综合题1 如果只要找出一个具有n个元素的集合的第k(1≤k≤n)个最小元素,你所学过的排序方法中哪种最适合?给出实现的思想。

【北方交通大学1998六(10分)】2 设结点个数为n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大O 形式给出,并给出证明。

【上海交通大学2004四(10分)】2 已知待排序的序列为(503,87,512,6l,908,170,897,275,653,462),试完成下列各题。

3 根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。

4 输出最小值后,如何得到次小值(并画出相应结果图)。

【同济大学2001二(10分)】4 试将关键字序列(56,塾,55,67,46,58,18,88)5 调整成一个初始大顶堆,用二叉树形式说明调整过程;6 简要说明如何从初始大顶堆开始进行排序。

【华中科技大学2007四、24(10分)】7 一组记录的关键字为(50,79,8,56,32,41,85),给出利用重建堆方法建立的初始堆(堆顶最大),并给出堆排序的过程。

【吉林大学2007二、5(4分)】8 已知序列{503,87,512,61,908,170,897,275,653,462)将其调整为堆(大堆顶,即K i≥K2i,K i≥K2i+1)。

【中国海洋大学2006一、4(8分)】9 给定关键字序列(20,18,9,86,72,12,27,40)。

试将该序列建成小根堆。

10 判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整成堆。

①100,90,80,60,85,75,20,25,10,70,65,50②100,70,50,20,90,75,60,25,10,85,65,80【复旦大学1997二(8分)】11 全国有10000人参加物理竞赛,只录取成绩优异的前10名,并将他们从高分到低分输出。

第九章排序练习题及答案

第九章排序练习题及答案

置上。
A 归并排序
B 插入排序
C 快速排序
D 选择排序
17.将上万个一组无序并且互不相等的正整数序列,存放于顺序存储结构中,采用( )
方法能够最快地找出其中最大的正整数。
A 快速排序
B 插入排序
C 选择排序
D 归并排序
18 一般情况下,以下四种排序方法中,平均查找长度最小的是
()
A 归并排序
B 快速排序
1a直接插入排序序号101112关键字834063138435965739796115408363138435965739796115406383138435965739796115134063838435965739796115134063838435965739796115133540638384965739796115133540638384965739796115133540576383849639796115133539405763838496796115101335394057637983849661151113353940576163798384961512131535394057616379838496直接选择排序序号101112关键字8340631384359657397961151340638384359657397961151315638384359657397961401315358384639657397961401315353984639657837961401315353940639657837961841315353940579663837961841315353940576163837996841315353940576163837996841315353940576163798396841013153539405761637983968411131535394057616379838496快速排序关键字834063138435965739796115第一趟排序后154063136135795739839684第二趟排序后131563406135795739838496第三趟排序后131539406135576379838496第四趟排序后131535396140576379838496第五趟排序后131535395740616379838496第六趟排序后131535394057616379838496第七趟排序后131535394057616379838496堆排序关键字
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程(本科)第九章试题
一、单项选择题
1. 若待排序对象序列在排序前已按其排序码递增顺序排列,则采用(
A. 直接插入排序
B. 快速排序
C. 归并排序
D. 直接选择排序
)方法比较次数最少。
2. 如果只想得到 1024 个元素组成的序列中的前 5 个最小元素,那么用(
A. 起泡排序
B. 快速排序
C. 直接选择排序
A. 8
B. 10
C. 15
D. 25
)次比较?
5. 如果输入序列是已经排好顺序的,则下列算法中(
)算法最快结束?
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
6. 如果输入序列是已经排好顺序的,则下列算法中(
)算法最慢结束?
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
8. 在堆排序中, 如果 n 个对象的初始堆已经建好, 那么到排序结束, 还需要从堆顶结点出发调用 ________ 次调整算法。
9. 在堆排序中,对任一个分支结点进行调整运算的时间复杂度为
O(________) 。
10. 对 n 个数据对象进行堆排序,总的时间复杂度为
O(________) 。
11. 给定一组数据对象的排序码为 ________。
13. 在下列排序算法中, ( A. 锦标赛排序 C. 基数排序
)算法使用的附加空间与输入序列的长度及初始排列无关。 B. 快速排序 D. 归并排序
4 } ,采用快速排序(以位于最左位置的对象为基准而) 得到的第一次划分结果为:
18. 在 n 个数据对象的二路归并排序中,整个归并的时间复杂度为
O(________) 。
参考答案: 1 . 插入 4. 两路归并 7. n/2 10. nlog 2n 13. n 2 16. [40 38] 46 [79 56 84]
2. 直接选择 5. n 2 8. n-1 11. 84, 79, 56, 38, 40, 46 14. log 2n 17. n

算法最快。
A. 归并排序 C. 快速排序
B. 希尔排序 D. 基数排序
参考答案:
1. A 6. D 11. D
2. D 7. D 12. C
3. C 8. C 13. C
4. B 9. C 14. C
5. A 10. C 15. D
二、填空题
1. 第 i (i = 1, 2 , … , -n1) 趟从参加排序的序列中取出第 i 个元素,把它插入到由第 0 个~第 i - 1 个元素组
15. 快速排序在最坏情况下的空间复杂度为 O(________) 。
16. 给定一组数据对象的排序码为 { 46, 79, 56, 38, 40, 84} ,对其进行一趟快速排序,结果为 ________。
17. 在 n 个数据对象的二路归并排序中,每趟归并的时间复杂度为
O(________) 。
A. 5
B. 6
5 个互异的整数进行排序,至少需要(
C. 7
D. 8
)次比较。
10. 下列算法中( 排序。 A. 起泡排序 C. 快速排序
)算法不具有这样的特性:对某些输入序列,可能不需要移动数据对象即可完成
B. 希尔排序 D. 直接选择排序
-
11. 使用递归的归并排序算法时,为了保证排序过程的时间复杂度不超过
A. { 38, 46, 79, 56, 40, 84 }
B. { 38, 79, 56, 46, 40, 84 }
C. { 40, 38, 46, 79, 56, 84 }
D. { 38, 46, 56, 79, 40, 84 }
15. 如果将所有中国人按照生日 (不考虑年份, 只考虑月、 日)来排序, 那么使用下列排序算法中 (
3. 交换 6. n 9. log 2 n 12. nlog 2n 15. n 18. nlog 2n
O(nlog 2n),必须做到(
)。
A. 每次序列的划分应该在线性时间内完成
B. 每次归并的两个子序列长度接近
C. 每次归并在线性时间内完成
D. 以上全是
12. 在基于 排序码 比较的排序算法中, ( A. 起泡排序 C. 归并排序
)算法的最坏情况下的时间复杂度不 B. 希尔排序 D. 快速排序
高 于 O(nlog 2n)。
4. 每次使两个相邻的有序表合并成一个有序表,这种排序方法叫做
________ 排序。
5. 在直接选择排序中,排序码比较次数的时间复杂度为
O(________) 。
6. 在直接选择排序中,数据对象移动次数的时间复杂度为
O(________) 。
欢迎下载
2
-
7. 在堆排序中,对 n 个对象建立初始堆需要调用 ________次调整算法。
7. 下列排序算法中( A. 起泡排序 C. 基数排序
)算法是不稳定的。 B. 直接插入排序 D. 快速排序
8. 假设某文件经过内部排序得到
则应取的归并路数至少是(
A. 3
B. 4
100 个初始归并段, 那么如果要求利用多路平衡归并在
)。
C. 5
D. 6
3 趟内完成排序,
9. 采用任何基于排序码比较的算法,对
D. 堆排序
)方法最快。
3. 对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,
直到子序列为空或只剩一个元素为止。这样的排序方法是(
)。
A. 直接选择排序
B. 直接插入排序
C. 快速排序
D. 起泡排序
4. 对 5 个不同的数据元素进行直接插入排序,最多需要进行(
{ 46, 79, 56, 38, 40, 84 } ,则利用堆排序方法建立的初始堆 (最大堆) 为
12. 快速排序在平均情况下的时间复杂度为 O(________) 。
13. 快速排序在最坏情况下的时间复杂度为 O(________) 。
14. 快速排序在平均情况下的空间复杂度为 O(________) 。
成的有序表中适当的位置,此种排序方法叫做
________排序。
2. 第 i (i = 0, 1,
- 2…) ,趟n从参加排序的序列中第 i 个 ~ 第 n- 1 个元素中挑选出一个最小(大)元素,把
它交换到第 i 个位置,此种排序方法叫做 ________排序。
3. 每次直接或通过基准元素间接比较两个元素,若出现逆序排列,就交换它们的位置,这种排序方法叫 做 ________排序。
相关文档
最新文档