数据结构第九章习题

合集下载

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

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

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

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

数据结构第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章练习及答案

数据结构第9章练习及答案

数据结构第9章练习及答案1.顺序查找法适合于存储结构为()的线性表。

A)散列存储B)顺序存储或链接存储C)压缩存储D)索引存储【答案】B2.下面哪些操作不属于静态查找表()A)查询某个特定元素是否在表中B)检索某个特定元素的属性C)插入一个数据元素D)建立一个查找表【答案】C3.下面描述不正确的是()A)顺序查找对表中元素存放位置无任何要求,当n较大时,效率低。

B)静态查找表中关键字有序时,可用折半查找。

C)分块查找也是一种静态查找表。

D)经常进行插入和删除操作时可以采用折半查找。

4.散列查找时,解决冲突的方法有()A)除留余数法B)数字分析法C)直接定址法D)链地址法【答案】D5.若表中的记录顺序存放在一个一维数组中,在等概率情况下顺序查找的平均查找长度为()A)O(1)B)O(log2n) C)O(n) D)O(n2)【答案】C6.对长度为4的顺序表进行查找,若第一个元素的概率为1/8,第二个元素的概率为1/4,第三个元素的概率为3/8,第四个元素的概率为1/4,则查找任一个元素的平均查找长度为()A)11/8 B)7/4 C)9/4 D)11/4【答案】C【解析】对顺序表查找,ASL=,代入题目得:ASL=4*(1/8)+3*(1/4)+2*(3/8)+1*(1/4)=9/47.静态查找表与动态查找表二者的根本差别在于()A)它们的逻辑结构不一样B)施加在其上的操作不同C)所包含的数据元素的类型不一样D)存储实现不一样【答案】B8.若查找表中的记录按关键字的大小顺序存放在一个一维数组中,在等概率情况下折半法查找的平均检索长度是()A)O(n) B)O(log2n) C)O(nlog2n) D)O((log2n)2)【答案】B9.对有14个数据元素的有序表R[14](假设下标从1开始)进行二分查找,搜索到R[4]的关键码等于给定值,此时元素比较顺序依次为()。

A)R[1],R[2],R[3],R[4] B)R[1],R[13],R[2],R[3]C)R[7],R[3],R[5],R[4] D)R[7],R[4],R[2],R[3]【答案】C10.对22个记录的有序表作折半查找,当查找失败时,至少需要比较次关键字。

(完整word版)数据结构第九章查找

(完整word版)数据结构第九章查找

第九章查找:习题习题一、选择题1.散列表查找中k个关键字具有同一散列值,若用线性探测法将这k个关键字对应的记录存入散列表中,至少要进行( )次探测。

A. k B。

k+l C. k(k+l)/2 D. l+k (k+l)/22.下述命题( )是不成立的。

A。

m阶B-树中的每一个结点的子树个数都小于或等于mB。

m阶B-树中的每一个结点的子树个数都大于或等于『m/2-1C。

m阶B-树中的每一个结点的子树高度都相等D。

m阶B—树具有k个子树的非叶子结点含有(k-l)个关键字3.如果要求一个基本线性表既能较快地查找,又能适应动态变化的要求,可以采用( )查找方法.A。

分块 B. 顺序 C. 二分 D.散列4.设有100个元素,用折半查找法进行查找时,最大比较次数是( ),最小比较次数是( ).A。

7,1 B.6,l C.5,1 D. 8,15.散列表长m=15,散列表函数H(key)=key%13。

表中已有4个结点:addr(18)=5;addr(32)=6; addr(59)=7;addr(73)=8;其余地址为空,如果用二次探测再散列处理冲突,关键字为109的结点的地址是( )。

A. 8 B。

3 C. 5 D。

46.用分块查找时,若线性表中共有729个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分( )个结点最佳。

A。

15 B. 27 C。

25 D。

307.散列函数有一个共同性质,即函数值应当以( )取其值域的每个值。

A.同等概率B。

最大概率C。

最小概率D。

平均概率8.设散列地址空间为O.。

m—1,k为关键字,假定散列函数为h(k)=k%p,为了减少冲突,一般应取p为( )。

A.小于m的最大奇数B. 小于m的最大素数C.小于m的最大偶数D.小于m的最大合数9.当向一棵m阶的B-树做插入操作时,若使一个结点中的关键字个数等于( ),则必须分裂成两个结点。

A。

m B。

m-l C.m+l D。

《数据结构》习题集:第9章查找(第1次更新2019-5)

《数据结构》习题集:第9章查找(第1次更新2019-5)

第9章查找一、选择题1.顺序查找一个共有n个元素的线性表,其时间复杂度为(),折半查找一个具有n个元素的有序表,其时间复杂度为()。

【*,★】A.O(n)B. O(log2n)C. O(n2)D. O(nlog2n)2.在对长度为n的顺序存储的有序表进行折半查找,对应的折半查找判定树的高度为()。

【*,★】A.nB.C.D.3.采用顺序查找方式查找长度为n的线性表时,平均查找长度为()。

【*】A.nB. n/2C. (n+1)/2D. (n-1)/24.采用折半查找方法检索长度为n的有序表,检索每个元素的平均比较次数()对应判定树的高度(设高度大于等于2)。

【**】A.小于B. 大于C. 等于D. 大于等于5.已知有序表(13,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,查找成功的比较次数为()。

【*】A. 1B. 2C. 3D. 46.对线性表进行折半查找时,要求线性表必须()。

【*】A.以顺序方式存储B. 以链接方式存储C.以顺序方式存储,且结点按关键字有序排序D. 以链接方式存储,且结点按关键字有序排序7.顺序查找法适合于存储结构为()的查找表。

【*】A.散列存储B. 顺序或链接存储C. 压缩存储D. 索引存储8.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。

【**】A.10B. 25C. 6D. 6259.从键盘依次输入关键字的值:t、u、r、b、o、p、a、s、c、l,建立二叉排序树,则其先序遍历序列为(),中序遍历序列为()。

【**,★】A.abcloprstuB. alcpobsrutC. trbaoclpsuD. trubsaocpl10.折半查找和二叉排序树的时间性能()。

【*】A.相同B. 不相同11.一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该树共有()个结点。

数据结构习题及答案(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则所采⽤的排序⽅法是()。

《数据结构》第九章习题 参考答案

《数据结构》第九章习题 参考答案

《数据结构》第九章习题参考答案一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)1、快速排序是一种稳定的排序方法。

(×)2、在任何情况下,归并排序都比简单插入排序快。

(×)3、当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。

(√)4、内排序要求数据一定要以顺序方式存储。

(×)5、直接选择排序算法在最好情况下的时间复杂度为O(n)。

( ×)6、快速排序总比简单排序快。

( ×)二、单项选择题1.在已知待排序文件已基本有序的前提下,效率最高的排序方法是(A)。

A.直接插入排序B.直接选择排序C.快速排序D.归并排序2.下列排序方法中,哪一个是稳定的排序方法?(B)A.直接选择排序B.折半插入排序C.希尔排序D.快速排序3、比较次数与排序的初始状态无关的排序方法是( B)。

A.直接插入排序B.起泡排序(时间复杂度O(n2))C.快速排序D.简单选择排序4、对一组数据(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. 插入5、快速排序方法在(D)情况下最不利于发挥其长处。

A. 要排序的数据量太大B. 要排序的数据中含有多个相同值C. 要排序的数据个数为奇数D. 要排序的数据已基本有序6、用某种排序方法对线性表{25,84,21,47,15,27,68,35,20}进行排序,各趟排序结束时的结果为:(基准)20,21,15,25,84,27,68,35,47(25)15,20,21,25,47,27,68,35,84(左20右47)15,20,21,25,35,27,47,68,84(左35右68)15,20,21,25,27,35,47,68,84 ;则采用的排序方法为(C)。

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

数据结构(C语言版)习题及答案第九章

数据结构(C语言版)习题及答案第九章

习题一、选择题1、一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为( B )。

A、79,46,56,38,40,80B、84,79,56,38,40,46C、84,79,56,46,40,38D、84,56,79,40,46,382、排序趟数与序列原始状态(原始排列)有关的排序方法是(ACD)方法。

A、插入排序B、选择排序C、冒泡排序D、快速排序3 、下列排序方法中,(B)是稳定的排序方法。

A、直接选择排序B、二分法插入排序C、希尔排序D、快速排序4、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中( C )的两趟排序后的结果。

A、选择排序B、冒泡排序C、插入排序D、堆排序5、对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4,9,-1,8,20,7,15),则采用的是(C)排序。

A、选择B、快速C、希尔D、冒泡6 、一组待排序记录的关键字为(46,79,56,38,40,84),则利用快速排序,以第一个记录为基准元素得到的一次划分结果为( C)。

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)7、用直接插入排序对下面四个序列进行排序(由小到大),元素比较次数最少的是( C )。

A、94,32,40,90,80,46,21,69B、32,40,21,46,69,94,90,80C、21,32,46,40,80,69,90,94D、90,69,80,46,21,32,94,408、若用冒泡排序对关键字序列(18,16,14,12,10,8)进行从小到大的排序,所需进行的关键字比较总次数是(B)。

A、10B、15C、21D、349、就排序算法所用的辅助空间而言,堆排序、快速排序和归并排序的关系( A)。

数据结构课后习题答案第九章 查找

数据结构课后习题答案第九章  查找

第九章9.1 若对大小均为n的有序顺序表和无序顺序表分别进行顺序查找,试在下列三种情况下分别讨论两者在等概率时平均查找长度是否相同?(1)查找不成功,即表中没有关键字等于给的值K的记录;(2)查找成功,且表中只有一个关键字等于给定值K的记录;(3)查找成功,且表中有若干关键字等于给定值K的记录,要求找出所有这些记录。

答:(1)相同,有序n+1; 无序n+1(2)相同,有序12n+;无序12n+(3)不相同,对于有序表,找到了第一个与K相同的元素后,只要再找到与K 不同的元素,即可停止查找;对于无序表,则要一直查找到最后一个元素。

9.3 画出对长度为10的有序表进行折半查找的判定树,并分别求其等概率时查找成功和查找不成功的ASL。

查找成功:ASL=1/10(1*1+2*2+3*4+4*3)=2.92.设顺序表中关键字是递增有序的,试写一顺序查找算法,将哨兵设在表的高下标端。

然后求出等概率情况下查找成功与失败时的ASL。

【分析】因为顺序表中关键字是递增有序的,所以从低下标端开始顺序查找,若当前的关键码比要查找的关键码大,说明查找失败,终止查找。

【解答】(1)算法int seqsearch(SeqList R,KeyType K){int i;R[n]=K; // 设置哨兵i=0;while (R[i].key<K)i++;if (R[i].key==K)return i% n;elsereturn 0;}(2)查找长度成功情况:ASL succ=(1+2+3+……+n)/n=(n+1)/2失败情况:K<R[0].key时,比较1次,就终止查找;R[0].key<K< R[1].key时,比较2次,就终止查找;R[1].key<K< R[2].key时,比较3次,就终止查找;…R[n-2].key<K< R[n-1].key时,比较n次,就终止查找;R[n-1].key<K时,比较n+1次,就终止查找;所以ASL unsucc=((1+2+3+……+n+(n+1))/(n+1)=(n+2)/2。

数据结构第九章查找习题解答

数据结构第九章查找习题解答

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

解:求得的判定树如下: 57109643182ASL 成功=(1+2*2+4*3+3*4)/10 =2.99.9 已知如下所示长度为12的表(Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec )(1)试按表中元素的顺序依次插入一查初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。

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

解:(1)求得的二叉排序树如下图所示:JanFeb MarApr Aug Dec June July MaySeptOctNov在等概率情况下查找成功的平均查找长度为:ASL 成功=(1+2*2+3*3+4*3+5*2+6*1)/12=42/12=3.5(2)分析:对表中元素进行排序后,其实就变成了对长度为12的有序表进行折半查找了,那么在等概率的情况下的平均查找长度只要根据折半查找的判定树就很容易求出。

长度为12的有序表进行折半查找的判定树如下图所示:681211754193210所以可求出:ASL 成功=(1+2*2+4*3+5*4)/12=37/129.19 选取哈希函数H(k)=(3k) MOD 11。

用开放定址法处理冲突,di=i((7k)MOD 10+1)(i=1,2,3,…)。

试在0~10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度。

解:因为H(22)=0;H(41)=2;H(53)=5;H(46)=6;H(30)=2;H 1(30)=3;H(13)=6;H 1(13)=8;H(01)=3;H 1(01)=0;H 2(01)=8;H 3(01)=5;H 4(01)=2;H 5(01)=10H(67)=3;H 1(67)=2;H 2(67)=1所以:构造的哈希表如下图所示:并求得等概率情况下查找成功的平均查找长度为:ASL 成功=(1*4+2*2+3+6)/8=17/89.21 在地址空间为0~16的散列区中,对以下关键字序列构造两哈希表: (Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec )(1)用线性探测开放定址法处理冲突;(2)用链地址法处理。

数据结构第九章 排序题库(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章  查找习题

第9章查找一、单项选择题1.顺序查找法适合于存储结构为______的线性表。

A.哈希存储B.顺序存储或链式存储C.压缩存储D.索引存储2.对线性表进行二分查找时,要求线性表必须______。

A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排序D.以链式方式存储,且结点按关键字有序排序3.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用______方法。

A.顺序查找B.二分查找C.分块查找D.以上都不对4.在含有27个结点的二叉树排序树上,查找关键字为35的结点,则依次比较的关键字有可能是______。

A.28,36,18,46,35 B.18,36,28,46,35C.46,28,18,36,35 D.46,36,18,28,355.在一棵平衡二叉树中,每个结点的平衡因子的取值范围是______。

A.-1~1 B.-2~2C.1~2 D.0~16.如图9-1所示的4棵二叉树A、B、C和D______是平衡二叉树。

A B.C D.图9-17.一棵深度为K的平衡二叉树,其每个非叶子结点的平衡因子均为0,则该树共有______个结点。

A.2k-1-1 B.2k-1C.2k-1+1 D.2k-18.查找效率最高的二叉树排序树是______。

A.所有结点的左子树都为空的二叉排序树B.所有结点的右子树都为空的二叉排序树C.平衡二叉树D.没有左子树的二叉排序树二、填空题1.长度为225的表,采用分块查找法,每块的最佳长度是_________________。

2.按13,24,37,90,53的次序形成平衡二叉树,则该平衡二叉树的高度是____________,其根为___________,左子树中的数据是____________,右子树中的数据是_____________。

三、判断题1.顺序查找法适用于存储结构为顺序或链式存储的线性表。

2.顺序查找法只能在顺序存储结构上进行。

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

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

数据结构第九章查找练习及答案一、选择题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)。


13. 关于杂凑查找说法不正确的有几个 ) 【南京 关于杂凑查找说法不正确的有几个( 理工大学 2000 一、16 (1.5分)】 分 (1)采用链地址法解决冲突时,查找一个元素的 )采用链地址法解决冲突时, 时间是相同的 (2)采用链地址法解决冲突时,若插入规定总是 )采用链地址法解决冲突时, 在链首, 在链首,则插入任一个元素的时间是相同的 (3)用链地址法解决冲突易引起聚集现象 ) (4)再哈希法不易产生聚集 ) A. 1 B. 2 C. 3 D. 4

14. 设哈希表长为 ,哈希函数是 设哈希表长为14, H(key)=key%11,表中已有数据的关键字为 , 表中已有数据的关键字为15, 表中已有数据的关键字为 38,61,84共四个,现要将关键字为 的结点加 共四个, , , 共四个 现要将关键字为49的结点加 到表中,用二次探测再散列法解决冲突, 到表中,用二次探测再散列法解决冲突,则放入 的位置是( 的位置是 ) 【南京理工大学 2001 一、15 (1.5分)】 分 A.8 B.3 C.5 D.9 . . . .
第九章 习题
一、 选择题 1.若查找每个记录的概率均等,则在具有 个记录 若查找每个记录的概率均等, 若查找每个记录的概率均等 则在具有n个记录 的连续顺序文件中采用顺序查找法查找一个记录, 的连续顺序文件中采用顺序查找法查找一个记录, 其平均查找长度ASL为( )。【北京航空航天大学 其平均查找长度 为 。 2000 一、8 (2分)】 分 A. (n-1)/2 B. n/2 C. (n+1)/2 D. n .
5.分别以下列序列构造二叉排序树,与用其它 .分别以下列序列构造二叉排序树, 三个序列所构造的结果不同的是( 三个序列所构造的结果不同的是 ) 【合肥工业 大学2000一、4(2分)】 大学 一 ( 分 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) , , , , , ,
6.在查找树(二叉树排序树)中插入一个新结点,总 .在查找树(二叉树排序树)中插入一个新结点, 是插入到叶结点下面。 是插入到叶结点下面。 【上海海运学院 1999 一、8 (1分)】 分 7.完全二叉树肯定是平衡二叉树。 【南京航空航天 .完全二叉树肯定是平衡二叉树。 大学 1996 六、5 (1分)】 分 8.对一棵二叉排序树按前序方法遍历得出的结点序列 . 是从小到大的序列。 是从小到大的序列。 【南京航空航天大学 1995 五、 4 (1分)】 分 9.二叉树中除叶结点外 任一结点 ,其左子树根结 .二叉树中除叶结点外, 任一结点X, 点的值小于该结点(X)的值;其右子树根结点的值≥ 点的值小于该结点( )的值;其右子树根结点的值 该结点( )的值,则此二叉树一定是二叉排序树 则此二叉树一定是二叉排序树。 该结点(X)的值 则此二叉树一定是二叉排序树。 【北京邮电大学 1998 一、4 (2分)】 分 10.有n个数存放在一维数组 个数存放在一维数组A[1..n]中,在进行顺序 . 个数存放在一维数组 中 查找时, 查找时,这n个数的排列有序或无序其平均查找长度不 个数的排列有序或无序其平均查找长度不 同。 【北京邮电大学 1998 一、6 (2分)】 分 11. 在任意一棵非空二叉排序树中,删除某结点后又 在任意一棵非空二叉排序树中, 将其插入,则所得二排序叉树与原二排序叉树相同。 将其插入,则所得二排序叉树与原二排序叉树相同。 【中科院软件所 1997 】

2. 下面关于二分查找的叙述正确的是 ( ) 【南京 理工大学 1996 一、3 (2分)】 分 A. 表必须有序,表可以顺序方式存储,也可以链 表必须有序,表可以顺序方式存储, 表方式存储 B. 表必须有序且表中数据必须是整型,实型或字 表必须有序且表中数据必须是整型, 符型 C. 表必须有序,而且只能从小到大排列 表必须有序, D. 表必须有序,且表只能以顺序方式存储 表必须有序,

10. m阶B-树是一棵 ) 【北京邮电大学 2000 树是一棵( 阶 树是一棵 二、2 (20/8分)】 分 A. m叉排序树 B. m叉平衡排序树 C. m-1叉平 叉排序树 叉平衡排序树 叉平 衡排序树 D. m+1叉平衡排序树 叉平衡排序树

11. m路B+树是一棵 (1)) ,其结点中关键字最 树是一棵(( ) 路 树是一棵 多为(( ) 个 最少(( ) 个 多为 (2))个,最少 (3))个。【中科院计算机 1999 一、5】 】 A. m路平衡查找树 B. m路平衡索引树 D. m路键 路平衡查找树 路平衡索引树 路键 E. m-1 树 F. m G. m+1 H.┌m/2┐-1 ┌ ┐ I. ┌m/2┐ J. ┌m/2┐+1 ┐ ┐

9. 下面关于B和B+树的叙述中,不正确的是( ) 下面关于 和 树的叙述中,不正确的是 树的叙述中 【北方交通大学 2001 一、17 (2分)】 分 A. B树和 树都是平衡的多叉树。 B. B树和 树和B+树都是平衡的多叉树 树和B+ 树和 树都是平衡的多叉树。 树和 树都可用于文件的索引结构。 树都可用于文件的索引结构。 C. B树和 树都能有效地支持顺序检索。 D. B 树和B+树都能有效地支持顺序检索 树和 树都能有效地支持顺序检索。 树和B+树都能有效地支持随机检索 树都能有效地支持随机检索。 树和 树都能有效地支持随机检索。
Hale Waihona Puke √15. 假定有 个关键字互为同义词,若用线性 假定有k个关键字互为同义词 个关键字互为同义词, 探测法把这k个关键字存入散列表中 个关键字存入散列表中, 探测法把这 个关键字存入散列表中,至少要 进行多少次探测? 进行多少次探测?( ) A.k-1次 B. k次 C. k+1次 D. k(k+1)/2 . 次 次 次 ( ) 次 【中国科技大学 1998 二、3 (2分)】【中 分 】【中 科院计算所1998 二、3 (2分)】 科院计算所 分

7.下列关于m阶B-树的说法错误的是 ) 【南 .下列关于 阶 树的说法错误的是 树的说法错误的是( 京理工大学 1997 一、9 (2分)】 分 A.根结点至多有 棵子树 B.所有叶子都在 .根结点至多有m棵子树 . 同一层次上 C. 非叶结点至少有 非叶结点至少有m/2 (m为偶数 或m/2+1 为偶数)或 为偶数 为奇数) (m为奇数)棵子树 D. 根结点中的数据是有 为奇数 序的
F
B I
12. 下面关于哈希 下面关于哈希(Hash,杂凑 查找的说法正确的 ,杂凑)查找的说法正确的 是( ) 【南京理工大学 1998 一、10 (2分)】 分 A.哈希函数构造的越复杂越好,因为这样随机性 .哈希函数构造的越复杂越好, 好,冲突小 B.除留余数法是所有哈希函数中最好的 . C.不存在特别好与坏的哈希函数,要视情况而定 .不存在特别好与坏的哈希函数, D.若需在哈希表中删去一个元素,不管用何种方 .若需在哈希表中删去一个元素, 法解决冲突都只要简单的将该元素删去即可
12. B-树中所有结点的平衡因子都为零。 【大连海事大 树中所有结点的平衡因子都为零。 树中所有结点的平衡因子都为零 、(1, ) 分 】 学2001 一、( ,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分)】 分

3. 具有 个关键字的有序表,折半查找 具有12个关键字的有序表 个关键字的有序表, 的平均查找长度( 的平均查找长度( )【中山大学 1998 二、10 (2分)】 分 A. 3.1 B. 4 C. 2.5 D. 5 √ 4. 折半查找的时间复杂性为( )【中山 折半查找的时间复杂性为( 大学 1999 一、15】 】 A. O(n2) B. O(n) C. O(nlogn) ( ) ( ) ( ) D. O(logn) ( ) √
三、填空题
1. 顺序查找 个元素的顺序表,若查找成功,则比较关键字的 顺序查找n个元素的顺序表 若查找成功, 个元素的顺序表, 次数最多为__ 次 当使用监视哨时,若查找失败, 次数最多为 n__次;当使用监视哨时,若查找失败,则比较 关键字的次数为__ 。 关键字的次数为 N+1 【华中理工大学 2000 一、8 (2分)】 分 2. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中, 在顺序表( ) 用二分(折半)法查找关键码值20, 用二分(折半)法查找关键码值 ,需做的关键码比较次数为 4 【 ____.【北方交通大学 2001 二、2】 】 3.在有序表 .在有序表A[1..12]中,采用二分查找算法查等于 中 采用二分查找算法查等于A[12]的 的 元素,所比较的元素下标依次为__________。 元素,所比较的元素下标依次为 6,9,11,12 。 【中国人民大学 2001 一、2 (2分)】 分 4. 在有序表 在有序表A[1..20]中,按二分查找方法进行查找,查找长 中 按二分查找方法进行查找, 度为5的元素个数是 的元素个数是__________ 度为 的元素个数是 5 【合肥工业大学 1999 三、9 (2分)】 分 26 个关键字 5. 高度为 的3阶b-树中,最多有 高度为4的 阶 树中 最多有__________个关键字。 树中, 个关键字。 【合肥工业大学 2000 三、9 (2分)】 分
相关文档
最新文档