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

合集下载

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

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

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载数据结构第九章排序习题及答案地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容习题九排序一、单项选择题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.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( )排序。

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

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

习题九排序一、单项选择题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}从大到小排序,需进行()次比较。

计算机专业数据结构第九章测试

计算机专业数据结构第九章测试

数据结构测试(长春理工大学精品课)第9章排序一、选择题1.某内排序方法的稳定性是指( )。

查看答案A.该排序算法不允许有相同的关键字记录B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法D.以上都不对正确答案是D解释:稳定的排序方法指的是若有相同关键字的记录,待排序时在前面的记录排序后仍然排在前面的排序方法。

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

查看答案A. 插入B. 冒泡C. 二路归并D. 堆正确答案是D解释:堆排序是不稳定的,交换时有可能把后面的排在前面。

收起3.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。

( )查看答案A.选择排序法 B. 插入排序法 C. 快速排序法 D. 堆排序法正确答案是A解释:简单选择排序是在待排记录中找到最小的和第一个相交换,再在除了第一个排完的以外找个最小的和第二个相交换,依此类推,n个记录的待排序列需要比较(n-1)+(n-2)+......+0=(n-1)*n/2收起4. 对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是查看答案( )A. lB. 4C. 3D. 2正确答案是B 收起5.下列四个序列中,哪一个是堆()。

查看答案A. 75,65,30,15,25,45,20,10B. 75,65,45,10,30,25,20,15C. 75,45,65,30,15,25,20,10D. 75,45,65,10,25,30,20,15正确答案是C解释:这是一个大根堆,每个结点都比左右孩子小。

收起6.对一组数据(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则采用的排序是( )。

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

《数据结构》习题汇编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堆排序关键字

数据结构习题及答案(3)

数据结构习题及答案(3)

数据结构习题及答案(3)第九章排序⼀、选择题1.在所有排序⽅法中,关键字⽐较的次数与记录得初始排列次序⽆关的是()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:D2.设有1000个⽆序的元素,希望⽤最快的速度挑选出其中前10个最⼤的元素,最好()排序法。

(A)起泡排序(B)快速排序(C)堆排序(D)基数排序参考答案:C3.在待排序的元素序列基本有序的前提下,效率最⾼的排序⽅法是()(A)插⼊排序(B)选择排序(C)快速排序(D)归并排序参考答案:A4.⼀组记录的排序码为(46,79,56,38,40,84),则利⽤堆排序的⽅法建⽴的初始推为()。

(A)79,46,56,38,40,80 (B)84,79,56,38,40,46(C)84,79,56,46,40,38 (D)84,56,79,40,46,38参考答案:B5.⼀组记录的关键码为(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参考答案:C6.⼀组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的⽅法对该序列进⾏⼀趟归并后的结果为()。

(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,48,35,79,82,23,36,40,72(D)16,25,35,48,79,23,36,40,72,82参考答案:A7.排序⽅法中,从未排序序列中依次取出元素与⼰排序序列(初始时为空)中的元素进⾏⽐较,将其放⼊⼰排序序列的正确位置上的⽅法,称为()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:C8.排序⽅法中,从未排序序列中挑选元素并将其依次放⼊⼰排序序列(初始为空)的⼀端的⽅法,称为()(A)希尔排序(B)归并排序(C)插⼊排序(D)选择排序参考答案:D9.⽤某种排序⽅法对线性表(25,84,21,47,15,27,68,35,20)进⾏排序时,元素序列的变化情况如下:(1)25,84,21,47,15,27,68,35,20 (2)20,15,21,25,47,27,68,35,84(3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,845则所采⽤的排序⽅法是()。

数据结构第九章习题

数据结构第九章习题

12. B-树中所有结点的平衡因子都为零。 【大连海事大 学2001 一、(1,17) (1分)】 13. 在m阶B-树中每个结点上至少有┌m/2┐个关键字, 最多有m个关键字。 【东北大学 1997 二、 4 (2分)】 14. 在9阶B-树中,除叶子以外的任意结点的分支数介于 5和9之间。【合肥工业大学 2001 二、9 (1分)】 15.B-树的插入算法中,通过结点的向上“分裂”,代替 了专门的平衡调整。【华南理工大学 2001 一、3 (1 分)】 16. 在平衡二叉树中,向某个平衡因子不为零的结点的树 中插入一新结点,必引起平衡旋转。 【南京理工大学 1997 二、3 (2分)】 17.二叉排序树删除一个结点后,仍是二叉排序树。【青 岛大学 2000 四、4 (1分)】 18.B+树既能索引查找也能顺序查找。【青岛大学 2002 一、10 (1分)】
三、填空题 表必须有序且表中数据必须是整型,实型或字符型
7.完全二叉树肯定是平衡二叉树。
【北京1邮.电大顺学 序1998查一、找6 (n2分个)】元素的顺序表,若查找成功,则比较关键字的
1【1青. 岛次大学数20最00 四多、4为(1分_)_】n__次;当使用监视哨时,若查找失败,则比较
N+1 关键字的次数为__ 【青岛大学 2002 一、10 (1分)】
16. 散列函数有一个共同的性质,即函数值应 当以( )取其值域的每个值。
√ A. 最大概率 B. 最小概率 C. 平均概率 D. 同
等概率 【西安电子科技大学2001应用一、7 (2分)】 【北京邮电大学 1999 一、4 (2分)】
二、判断题 1.哈希函数的选取平方取中法最好。 【青岛大学 2000 四、7 (1分)】
B-树中所有结点的平衡因子都为零。

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

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

库)。当输入对象排序码小于刚输出的门槛
LastKey 对象的排序码时,不将它存入工作区,而暂存于
储备库中,接着输入下一对象的排序码,依次类推,直到储备库满时不再进行输入,而只是从工作区 中选择对象输出直至工作区空为止,由此得到一个初始归并段。然后再将储备库中的对象传送至工作 区,重新开始置换—选择。 若设输入文件包含对象的排序码为 19, 22, 17, 16, 11, 10, 12, 32, 26, 20, 28, 07 。采用上述方法生成初始 归并段,并设工作区可容纳 5 个对象,请画出生成初始归并段的过程。
9. 如果输入序列已经排好序,则快速排序算法无需移动任何数据对象就可以完成排序。
10. 希尔排序的最后一趟就是起泡排序。
11. 任何基于排序码比较的算法,对 O(nlog 2n)。
n 个数据对象进行排序时,最坏情况下的
时间 复杂度不会低于
12. 不存在这样一个基于排序码比较的算法:它只通过不超过 码互异的数据对象实现排序。
A. 8
B. 10
C. 15
D. 25
)次比较?
5. 如果输入
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
6. 如果输入序列是已经排好顺序的,则下列算法中(
)算法最慢结束?
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
3. 交换 6. n 9. log 2 n 12. nlog 2n 15. n 18. nlog 2n
三、判断题
1. 直接选择排序是一种稳定的排序方法。
2. 若将一批杂乱无章的数据按堆结构组织起来 , 则堆中各数据是否必然按自小到大的顺序排列起来。

数据结构 第九章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

数据结构 第九章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

数据结构第九章测验一、单选题 (共100.00分)1. 以下属于插入排序的算法是()A. 希尔排序B. 堆排序C. 冒泡排序D. 基数排序正确答案:A2. 以下排序算法时间复杂度最小的是()A. 冒泡排序B. 直接插入排序C. 简单选择排序D. 堆排序正确答案:D3. 以下排序算法稳定的是()A. 希尔排序B. 归并排序C. 简单选择排序D. 堆排序正确答案:B4. 以下排序算法空间复杂度最大的是()A. 堆排序B. 快速排序C. 归并排序D. 直接插入排序正确答案:C5. 现有100万个数据,需要找出最大的前10个数据,最快的算法是()A. 快速排序B. 归并排序C. 简单选择排序D. 希尔排序正确答案:C6. 时间复杂度小于n平方的排序算法是()A. 冒泡排序B. 快速排序C. 简单选择排序D. 直接插入排序正确答案:B7. 已知数列为125、45、88、72、165、33、 28、64,采用起泡排序算法递增排序,第一趟排序共发生()次交换A. 8B. 7C. 6D. 5正确答案:C8. 以下排序算法不稳定的是()A. 直接插入排序B. 归并排序C. 起泡排序D. 堆排序正确答案:D9. 序列19 11 23 14 55 68,采用希尔排序gap为n/2,则第一趟排序()A. 14 19 11 55 23 68B. 19 23 11 14 55 68C. 11 14 19 23 55 68D. 14 19 11 55 33 68正确答案:A10. 序列21 25 49 25* 16 08,采用快速排序,枢轴为序列首元素,则第一趟排序()A. 08 16 21 25 25* 49B. 08 16 21 25* 25 49C. 16 08 21 25* 49 25D. 08 16 21 25* 49 25正确答案:D。

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

《数据结构》习题汇编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)。

数据结构第九章 排序题库(40道)

数据结构第九章 排序题库(40道)

数据结构第九章排序1、内排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( )。

——[单选题]A 希尔排序B 冒泡排序C 直接插入排序D 简单选择排序正确答案:C2、对有n个记录的表进行直接插入排序,在最坏情况下需进行( )次关键字比较。

——[单选题]A n-1B n+1C n/2D n(n-1)/2正确答案:D3、在下列算法中,( )算法可能出现下列情况:在最后一趟开始之前,所有的元素都不在其最终的位置上。

——[单选题]A 堆排序B 冒泡排序C 直接插入排序D 快速排序正确答案:C4、对数据序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排序变为{9,15,7,8,20,-1,4},则采用的是( )算法。

——[单选题]A 简单选择排序B 冒泡排序C 直接插入排序D 堆排序正确答案:C5、数据序列{5,4,15,10,3,1,9,6,2}是某排序方法第一趟后的结果,该排序算法可能是( )。

——[单选题]A 冒泡排序B 二路归并排序C 堆排序D 简单选择排序正确答案:B6、从未排序序列中挑选元素,并将其依次插入已排序序列的一端的方法,称为( )。

——[单选题]A 希尔排序B 归并排序C 直接插入排序D 简单选择排序正确答案:D7、在以下排序方法中,关键字比较的次数与元素的初始排列次序无关的是( )。

——[单选题]A 希尔排序B 冒泡排序C 插入排序D 简单选择排序正确答案:D8、对n个不同的关键字进行递增冒泡排序,在下列哪种情况下比较的次数最多( )。

——[单选题]A 元素无序B 元素递增有序C 元素递减有序D 都一样正确答案:C9、对数据序列(8,9,10,4,5,6,20,1,2)进行递增排序,采用每趟冒出一个最小元素的冒泡排序算法,需要进行的趟数至少是( )。

——[单选题]A 3B 4C 5D 8正确答案:C10、为实现快速排序法,待排序序列最好采用的存储方式是( )。

数据结构习题汇编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)。

数据结构第九章--查找-习题及答案

数据结构第九章--查找-习题及答案

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

A. (n-1)/2 B. n/2 C. (n+1)/2 D. n2. 下面关于二分查找的叙述正确的是 ( )A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储3. 用二分(对半)查找表的元素的速度比用顺序法( )A.必然快 B. 必然慢 C. 相等 D. 不能确定4. 具有12个关键字的有序表,折半查找的平均查找长度()A. 3.1B. 4C. 2.5D. 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章练习及答案

数据结构第9章练习及答案
4.散列查找时,解决冲突的方法有( )
A)除留余数法B)数字分析法C)直接定址法D)链地址法
【答案】D
5.若表中的记录顺序存放在一个一维数组中,在等概率情况下顺序查找的平均查找长度为( )
A)O(1)B)O(log2n)C)O(n)D)O(n2)
【答案】C
6.对长度为4的顺序表进行查找,若第一个元素的概率为1/8,第二个元素的概率为1/4,第三个元素的概率为3/8,第四个元素的概率为1/4,则查找任一个元素的平均查找长度为( )
所以ASL=1/11(6+2+3×3)=17/11=1.5454545454≈1.55
17.【严题集9.9③】已知如下所示长度为12的表:
(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)
(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。
然后顺移,与46,47,32,17,63相比,一共比较了6次!
(3)查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。
(4)对于黑色数据元素,各比较1次;共6次;
对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次,
A)查询某个特定元素是否在表中B)检索某个特定元素的属性
C)插入一个数据元素D)建立一个查找表
【答案】C
3.下面描述不正确的是( )
A)顺序查找对表中元素存放位置无任何要求,当n较大时,效率低。
B)静态查找表中关键字有序时,可用折半查找。

数据结构第九章查找练习及答案

数据结构第九章查找练习及答案

数据结构第九章查找练习及答案一、选择题1、对线性表进行二分查找时,要求线性表必须()A、以顺序方式存储B、以链表方式存储C、以顺序方式存储,且结点按关键字有序排列D、以链表方式存储,且结点按关键字有序排列2、采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()A、nB、n/2C、(n+1)/2D、(n-1)/23、采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为()A、n2B、nlog2nC、nD、log2n4、二分查找和二叉排序树的时间性能()A、相同B、不相同C、有时相同D、有时不相同5、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,()次比较后查找成功。

A、1B、2C、4D、86、哈希表长m=14,哈希表函数H(key)=key%11,表中已有4个结点:ADDR(15)=4,ADDR(38)=5;ADDR(61)=6;ADDR(84)=7;其余地址为空,如果用二次探测再散列处理冲突,关键字为49的结点的地址是()A、8B、3C、5D、97、一个长度为12的有序表,按二分查找法对该表进行查找,在表内每个元素等概率情况下查找成功所需的平均比较次数()A、35/12B、37/12C、39/12D、43/128、用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()结点最佳。

A、10B、25C、6D、6259、如果要求一个线性表既能较快的查找,又能适应动态变化的要求,可以采用()查找方法。

A、分块B、顺序C、二分D、散列10、有100个元素,用折半查找法进行查找时,最大比较次数是()A、25B、50C、10D、711、有100个元素,用折半查找法进行查找时,最小比较次数是()A、7B、4C、2D、112、散列函数有一个共同性质,即函数值应当以()取其值域的每个值。

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

数据结构课程(本科)第九章试题一、单项选择题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)。

A. 起泡排序B. 希尔排序C. 归并排序D. 快速排序13.在下列排序算法中,()算法使用的附加空间与输入序列的长度及初始排列无关。

A. 锦标赛排序B. 快速排序C. 基数排序D. 归并排序14.一个对象序列的排序码为{ 46, 79, 56, 38, 40, 84 },采用快速排序(以位于最左位置的对象为基准而)得到的第一次划分结果为: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.如果将所有中国人按照生日(不考虑年份,只考虑月、日)来排序,那么使用下列排序算法中()算法最快。

A. 归并排序B. 希尔排序C. 快速排序D. 基数排序参考答案: 1. A 2. D 3. C 4. B 5. A6. D7. D8. C9. C 10. C11. D 12. C 13. C 14. C 15. D二、填空题1.第i (i = 1, 2, …, n-1) 趟从参加排序的序列中取出第i个元素,把它插入到由第0个~第i-1个元素组成的有序表中适当的位置,此种排序方法叫做________排序。

2.第i (i = 0, 1, …, n-2) 趟从参加排序的序列中第i个~第n-1个元素中挑选出一个最小(大)元素,把它交换到第i个位置,此种排序方法叫做________排序。

3.每次直接或通过基准元素间接比较两个元素,若出现逆序排列,就交换它们的位置,这种排序方法叫做________排序。

4.每次使两个相邻的有序表合并成一个有序表,这种排序方法叫做________排序。

5.在直接选择排序中,排序码比较次数的时间复杂度为O(________)。

6.在直接选择排序中,数据对象移动次数的时间复杂度为O(________)。

7.在堆排序中,对n个对象建立初始堆需要调用________次调整算法。

8.在堆排序中,如果n个对象的初始堆已经建好,那么到排序结束,还需要从堆顶结点出发调用________次调整算法。

9.在堆排序中,对任一个分支结点进行调整运算的时间复杂度为O(________)。

10.对n个数据对象进行堆排序,总的时间复杂度为O(________)。

11.给定一组数据对象的排序码为{ 46, 79, 56, 38, 40, 84 },则利用堆排序方法建立的初始堆(最大堆)为________。

12.快速排序在平均情况下的时间复杂度为O(________)。

13.快速排序在最坏情况下的时间复杂度为O(________)。

14.快速排序在平均情况下的空间复杂度为O(________)。

15.快速排序在最坏情况下的空间复杂度为O(________)。

16.给定一组数据对象的排序码为{46, 79, 56, 38, 40, 84},对其进行一趟快速排序,结果为________。

17.在n个数据对象的二路归并排序中,每趟归并的时间复杂度为O(________)。

18.在n个数据对象的二路归并排序中,整个归并的时间复杂度为O(________)。

参考答案:1. 插入 2. 直接选择 3. 交换4. 两路归并5. n26. n7. ?n/2? 8. n-1 9. log2n10. nlog2n11. 84, 79, 56, 38, 40, 46 12. nlog2n13. n214. log2n15. n16. [40 38] 46 [79 56 84]17. n 18. nlog2n三、判断题1.直接选择排序是一种稳定的排序方法。

2.若将一批杂乱无章的数据按堆结构组织起来, 则堆中各数据是否必然按自小到大的顺序排列起来。

3.当输入序列已经有序时,起泡排序需要的排序码比较次数比快速排序要少。

4.在任何情况下,快速排序需要进行的排序码比较的次数都是O(nlog2n)。

5.在2048 个互不相同的排序码中选择最小的5个排序码,用堆排序比用锦标赛排序更快。

6.若用m个初始归并段参加k路平衡归并排序,则归并趟数应为 ?log2m?。

7.堆排序是一种稳定的排序算法。

8.对于某些输入序列,起泡排序算法可以通过线性次数的排序码比较且无需移动数据对象就可以完成排序。

9.如果输入序列已经排好序,则快速排序算法无需移动任何数据对象就可以完成排序。

10.希尔排序的最后一趟就是起泡排序。

11.任何基于排序码比较的算法,对n个数据对象进行排序时,最坏情况下的时间复杂度不会低于O(nlog2n)。

12.不存在这样一个基于排序码比较的算法:它只通过不超过9次排序码的比较,就可以对任何6个排序码互异的数据对象实现排序。

参考答案: 1. 否 2. 否 3. 是 4. 否 5. 否6. 否7. 否8. 是9. 否10. 是11. 是12. 是四、运算题1.判断以下序列是否是最小堆如果不是, 将它调整为最小堆。

(1) { 100, 86, 48, 73, 35, 39, 42, 57, 66, 21 }(2) { 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 }。

2.在不要求完全排序时,堆排序是一种高效的算法。

这种算法的过程是:(Heapification)把待排序序列看作一棵完全二叉树,通过反复筛选将其调整为堆;(Re-heapification)依次取出堆顶,然后将剩余的记录重新调整为堆。

现考虑序列A = { 23,41,7,5,56 }:(1)给出对应于序列A的最小堆H A(以线性数组表示);(2)给出第一次取出堆顶后,重新调整H A后的结果(以线性数组表示);(3)给出第二次取出堆顶后,重新调整H A后的结果(以线性数组表示)。

3.希尔排序、直接选择排序、快速排序和堆排序是不稳定的排序方法, 试举例说明。

4.给出12个初始归并段,其长度分别为19, 22, 17, 16, 11, 10, 12, 32, 26, 20, 28, 07。

现要做4路外归并排序,试画出表示归并过程的最佳归并树,并计算该归并树的带权路径长度WPL。

5.设输入文件包含以下数据对象的排序码:14, 22, 7, 16, 11, 10, 12, 90, 26, 30, 28, 110。

现采用置换—选择方法生成初始归并段,并假设内存工作区可同时容纳5个数据对象,请画出生成初始归并段的过程。

6.在利用置换—选择方法生成初始归并段时,可另开辟一个与工作区容量相同的辅助存储区(称为储备库)。

当输入对象排序码小于刚输出的门槛LastKey对象的排序码时,不将它存入工作区,而暂存于储备库中,接着输入下一对象的排序码,依次类推,直到储备库满时不再进行输入,而只是从工作区中选择对象输出直至工作区空为止,由此得到一个初始归并段。

然后再将储备库中的对象传送至工作区,重新开始置换—选择。

若设输入文件包含对象的排序码为19, 22, 17, 16, 11, 10, 12, 32, 26, 20, 28, 07。

采用上述方法生成初始归并段,并设工作区可容纳5个对象,请画出生成初始归并段的过程。

7.假设文件有4500个记录,在磁盘上每个页块可放75个记录。

计算机中用于排序的内存区可容纳450个记录。

试问:(1) 可建立多少个初始归并段每个初始归并段有多少记录存放于多少个页块中(2) 应采用几路归并请写出归并过程及每趟需要读写磁盘的页块数。

8.如果某个文件经内排序得到80个初始归并段,试问(1) 若使用多路归并执行3趟完成排序,那么应取的归并路数至少应为多少(2) 如果操作系统要求一个程序同时可用的输入/输出文件的总数不超过15个,则按多路归并至少需要几趟可以完成排序如果限定这个趟数,可取的最低路数是多少参考答案:1.(1) { 100, 86, 48, 73, 35, 39, 42, 57, 66, 21 }为最大堆。

调整为最小堆后为{ 21, 35, 39, 57, 86, 48, 42, 73, 66, 100 }(2) { 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 }不是最小堆。

调整为最小堆后为{ 12, 24, 33, 65, 33, 56, 48, 92, 86, 70 }2.(1) 建堆结果H A =52374156(2) 第一次取出堆顶,并重新调整后H A =7235641(3) 第二次取出堆顶,并重新调整后H A =2341563.(1) 希尔排序{ 512 275 275* 061 }增量为2{ 275* 061 512 275 }增量为1{ 061 275* 275 512 }(2) 直接选择排序{ 275 275* 512 061 } i = 1{061275* 512 275 } i = 2{061 275* 512 275 } i = 3{061 275* 275 512 }(3) 快速排序{ 512 275 275* }{ 275* 275 512}(4) 堆排序{ 275 275* 061 170 }已经是最大堆,交换275与170{ 275* 170 061 275 } 前3个最大堆,交换275*与061 { 061 170 275* 275 } 对前2个调整{ 170 061 275* 275 } 前2个最大堆,交换170与061 { 061 170 275* 275 }4.设初始归并段个数n = 12,外归并路数k = 4,计算(n-1) % (k-1) = 11 % 3 = 2 ≠ 0,必须补k-2-1 = 1个长度为0的空归并段,才能构造k 路归并树。

相关文档
最新文档