《数据结构》习题汇编09第九章排序试题
(完整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章 排序 自测卷 答案
第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-第九章-排序-试题
数据结构课程(本科)第九章试题一、单项选择题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章-习题
第九章查找一、选择题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一、综合题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)第九章排序⼀、选择题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则所采⽤的排序⽅法是()。
数据结构 第九章测验 测验答案 慕课答案 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-第九章-排序-试题数据结构课程(本科)第九章试题一、单项选择题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道)
数据结构第九章排序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 第九章 排序 试题
数据结构课程(本科)第九章试题一、单项选择题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章练习及答案
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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. 每次直接或通过基准元素间接比较两个元素,若出现逆序排列,就交换它们的位置,这种排序方法叫 做 ________排序。