大二数据结构复习-查找排序练习题

合集下载

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

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

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

A .(n-1)/2B.n/2C.(n+1)/2D.n 2. 下面关于二分查找的叙述正确的是()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,则应作()型调整以使其平衡。

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

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

资料范本本资料为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.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( )排序。

数据结构第8章查找练习题

数据结构第8章查找练习题

一、单选题1.下列查找方法中,不属于动态的查找方法是( )。

A .二叉排序树法B .平衡树法C .散列法D .二分查找法2.适用于静态的查找方法为( )。

A .二分查找、二叉排序树查找B .二分查找、索引顺序表查找C .二叉排序树查找、索引顺序表查找D .二叉排序树查找、散列法查找3.静态查找表与动态查找表二者的根本差别在于( )。

A .它们的逻辑结构不一样B .施加在其上的操作不同C .所包含的数据元素的类型不一样D .存储实现不一样4.对长度为10的顺序表进行查找,若查找前面5个元素的概率相同,均为1/8,查找后面5个元素的概率相同,均为3/40,则查找任一元素的平均查找长度为( )。

A .5.5B .5C .39/8D .19/45.( )存储方式适用于折半查找。

A .键值有序的单链表B .键值有序的顺序表C .键值有序的双链表D .键值无序的顺序表6.对线性表进行二分查找时,要求线性表必须( )。

A .以顺序方式存储B .以链接方式存储C .顺序存储,且结点按关键字有序排序D .链式存储,且结点按关键字有序排序7.在索引顺序表中查找一个元素,可用的且最快的方法是( )。

A .用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找B .用顺序查找法确定元素所在块,再用二分查找法在相应块中查找C .用二分查找法确定元素所在块,再用顺序查找法在相应块中查找D .用二分查找法确定元素所在块,再用二分查找法在相应块中查找8.在索引查找中,若主表长度为144,它被均分为12子表,每个子表的长度均为12,则索引查找的平均查找长度为( )。

A .13B .24C .12D .799.由同一关键字集合构造的各棵二叉排序树( )。

A .形态和平均查找长度都不一定相同B .形态不一定相同,但平均查找长度相同C .形态和平均查找长度都相同D .形态相同,但平均查找长度不一定相同10.对二叉排序树进行( ),可以得到各结点键值的递增序列。

数据结构(查找)练习题与答案

数据结构(查找)练习题与答案

1、静态查找表和动态查找表的区别是( )。

A.所包含的数据元素的类型不同B.施加其上的操作不同C.它们的逻辑结构相同D.以上都不对正确答案:B解析:B、若在查找的同时对表做修改操作(如插入和删除),则相应的查找表称之为动态查找表。

若在查找中不涉及表的修改操作,则相应的查找表称之为静态查找表。

2、顺序查找法适合于存储结构为( )的线性表。

A.索引存储B.压缩存储C.顺序存储或者链式存储D.哈希存储正确答案:C解析:C、顺序查找可以从前向后或者从后向前挨次查找,既适合于顺序存储结构也适合于链式存储结构。

3、采用顺序查找方法查找长度为n 的顺序表时,在等概率时成功查找的平均查找长度为( )。

A.(n-1)/2B.nC.n/2D.(n+1)/2正确答案:D解析:D、顺序查找时,元素ai 需i 次比较,成功查找的平均查找长度=(1+2+ …+n)/n=(n+1)/2。

4、采用顺序查找方法查找长度为n 的顺序表时,在等概率时不成功查找的平均查找长度为( )。

A.(n-1)/2B.nC.n/2D.(n+1)/2正确答案:B解析:B、当查找的元素不在线性表中时,均需要n 次元素之间的比较。

5、适合于折半查找的数据组织方式是( )。

A.以链表存储的有序线性表B.以顺序表存储的有序线性表C.以链表存储的线性表D.以顺序表存储的线性表正确答案:B解析:B、折半查找的数据必须是有序的。

此外,折半查找中需要确定查找区间,这要求存储结构最好具有随机存取特性,而顺序表满足这个特性。

6、采用折半查找方法查找长度为n 的线性表,当n 很大时,在等概率时不成功查找的平均查找长度为( )。

n)A. O(nlog2B. O(n2)C. O(n)n)D. O(log2正确答案:D解析:D、采用折半查找时,若n 很大,对应的判定树可以看成是一棵满二叉树,失败节点(外部节点)集中在最下一层,落在每一个失败节点时比较的次都均为log n。

27、设有100 个元素的有序表,采用折半查找方法,在等概率时成功时最大的比较次数是( )。

数据结构查找排序经典试题

数据结构查找排序经典试题

数据结构查找排序经典试题一、填空1、针对有n条记录的顺序表做顺序查找,假定各记录的查找机会均等,则平均查找长度ASL=_______。

2、在二叉平衡树中,平衡因子hl-hr的所有可能取值有____________。

3、在排序操作中,待排序的记录有n条,若采用直接插入排序法,则需进行_________趟的插入才能完成排序。

4、在排序操作中,待排序的记录有n条,若采用冒泡排序法,则至多需进行_________趟的排序。

5、直接插入排序算法的时间复杂度为________________。

6、按()遍历二叉排序树,可以得到按值递增的关键字序列,在下图所示的二叉排序树中,查找关键字85的过程中,需和85进行比较的关键字序列为()。

509520557010 30 85二、判断1、平衡二叉树中子树的深度不能大于1。

()2、快速排序法是稳定的排序方法。

()3、任何一种排序方法都必须根据关键字值比较的结果来将记录从一个地方移动到另一个地方。

()4、冒泡排序法是稳定的排序方法。

()5、折半插入排序法是稳定的排序方法。

()三、选择1、在排序操作中,待排序的记录有n条,若采用直接插入排序法,则需进行_________趟的插入才能完成排序。

A、nB、(n-1)/2C、n+1D、n-12、采用顺序查找法查找长度为n的线性表时,平均查找长度为()A、nB、(n-1)/2C、n/2D、(n+1)/23、用折半查找法在{11,33,55,77,99,110,155,166,233}中查找155需要进行()次比较。

A、1B、2C、3D、44、请指出在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用折半查找法查找12需做()次比较。

A、5B、4C、3D、25、如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

()就是不稳定的排序方法。

A、起泡排序B、归并排序C、直接插入排序D、简单选择排序四、综合题1、给定一组数{6,7,9,4,3,5,8},要求(a)构造一棵平衡的二叉排序树;(b)先根遍历该树;(c)从该树中删除结点6,并保持其特性。

[课程]查找与排序部分习题集

[课程]查找与排序部分习题集

查找与排序部分习题一、选择题1.设有100个元素,用折半查找法进行查找时,最大比较次数是______。

A、25 B、8 C、10 D、72.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值82的结点时,______次比较后查找成功。

(注:计算中间位置时取下整)A、1B、2C、4D、83.顺序查找法适合于存储结构为______的线性表。

A、散列存储B、顺序存储或链接存储C、压缩存储D、索引存储4.某顺序存储的表格中有90000个元素,以按关键字值升序排列,假定对每个元素进行查找的概率是相同的,且每个元素的关键字的值皆不相同,用顺序查找法查找时,平均比较次数约为______;最大比较次数约为______。

A、25000B、30000C、45000D、900005.设散列地址空间为0到m-1,k为关键字,用p去除k,将所得的余数作为k的散列地址,即H(k)=k%p。

为了减少发生冲突的频率,一般取p为______。

A、小于m的最大奇数B、小于m的最大偶数C、小于m的最大素数D、大于m的最大素数6.设有9个数据记录组成的线性表,它们的排序关键字的取值分别是(11,15,20,27,30,35,46,88,120),已将它们按照排序关键字递增有序的方式存放在一维结构数组a[0..8]中从下标0开始到下标8结束的位置,则当采用折半查找算法查找关键字值等于20的数据记录时,所需比较的元素下标依次是:______。

(注:计算中间位置时取下整)A、0,1,2B、4,1,2C、4,2D、4,3,27.顺序查找一个共有n个元素的线性表,其时间复杂度为______。

A、O(n)B、O(log2n)C、O(n2)D、O(nlog2n)8.设有100个元素,用折半查找法进行查找时,最小比较次数是______。

A、7B、4C、2D、19.哈希法中,除了考虑构造“均匀”的哈希函数外,还要解决冲突的问题,以下选项中______不是解决冲突的办法。

数据结构查找习题及答案

数据结构查找习题及答案

第九章查找一、选择题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,则应作( ) 型调整以使其平衡。

数据结构 排序 历年考研练习题库 试卷及答案

数据结构 排序 历年考研练习题库 试卷及答案

数据结构排序历年考研练习题库试卷及答案数据结构排序历年考研练习题库试卷及答案一、冒泡排序冒泡排序是一种基本的排序算法,它通过重复地交换相邻两个元素的位置来实现排序。

算法的基本思想是从待排序的元素中比较相邻的两个元素大小,并根据需要交换它们的位置,直到整个序列有序为止。

冒泡排序的原理如下:首先从序列的第一个元素开始,比较相邻的两个元素的大小,若前面的元素大于后面的元素,则交换它们的位置;否则,继续比较下一对相邻元素,直到比较到序列的最后一个元素。

这样一趟比较下来,序列中最大的元素就会被交换到最后一个位置。

接着,对序列中剩下的 n-1 个元素重复上述过程,执行 n-1 趟比较,直到整个序列有序。

在实践中,冒泡排序的时间复杂度为 O(n^2),其中 n 为待排序序列的长度。

尽管冒泡排序存在其它更好的排序算法,但它具有编码简单、实现容易以及对小规模数据排序的优势。

二、选择排序选择排序也是一种简单直观的排序算法,它的思想是将待排序序列分为已排好序的部分和未排序的部分,每次选取未排序部分中最小(或最大)的元素,将其放置在已排好序的部分的末尾。

重复此过程,直到整个序列有序。

选择排序的具体步骤如下:首先从待排序序列中找到最小(或最大)的元素,然后将其与序列的第一个元素交换位置,将该元素视为已排序部分;接着,在剩下的未排序部分中找到最小(或最大)的元素,将其与第二个元素交换位置,将该元素视为已排序部分的最后一个元素;以此类推,每次选择序列中最小(或最大)的元素,并将该元素放置在已排序部分的末尾。

最终完成排序。

选择排序的时间复杂度同样为 O(n^2),其中 n 为待排序序列的长度。

相比于冒泡排序,选择排序的交换操作较少,因此在实际应用中,选择排序的性能要优于冒泡排序。

三、插入排序插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素逐个插入已排好序的部分中,直到整个序列有序。

与冒泡排序和选择排序不同,插入排序是一种原地排序算法。

数据结构查找习题及答案

数据结构查找习题及答案

第9章查找一、单选题1.对一棵二叉搜索树按〔〕遍历,可得到结点值从小到大的排列序列。

A. 先序B. 中序C. 后序D. 层次2.从具有n个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂度大致为〔〕。

A. O(n)B. O(1)C. O(logn)D. O(n2)3.从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂度为〔〕。

A. O(n)B. O(1)C. O(logn)D. O(n2)4.在二叉搜索树中插入一个结点的时间复杂度为〔〕。

A. O(1)B. O(n)C. O(logn)D. O(n2)5.分别以下列序列构造二叉搜索树,与用其它三个序列所构造的结果不同的是〔〕。

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.在一棵AVL树中,每个结点的平衡因子的取值X围是〔〕。

A. -1~1B. -2~2C. 1~2D. 0~17.根据一组关键字〔56,42,50,64,48〕依次插入结点生成一棵A VL树,当插入到值为〔〕的结点时需要进行旋转调整。

A. 42B. 50C. 64D. 488.深度为4的A VL树至少有〔〕个结点。

A.9 B.8C.7D.69.一棵深度为k的A VL树,其每个分支结点的平衡因子均为0,则该平衡二叉树共有〔〕个结点。

A.2k-1-1B.2k-1+1C.2k-1D.2k10.在A VL树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作〔〕型调整以使其平衡。

A. LLB. LRC. RLD. RR二、判断题1.二叉搜索树的任意一棵子树中,关键字最小的结点必无左孩子,关键字最大的结点必无右孩子。

2.二叉搜索树中每个结点的关键字值大于其左非空子树〔若存在的话〕所有结点的关键字值,且小于其右非空子树〔若存在的话〕所有结点的关键字值。

数据结构查找与排序练习题答案——查找排序练习题答案

数据结构查找与排序练习题答案——查找排序练习题答案

数据结构查找与排序练习题答案一、选择题1.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/22.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()。

A.35/12 B.37/12 C.39/12 D.43/125.折半查找的时间复杂性为()A. O(n2)B. O(n)C. O(nlogn)D. O(logn)6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,37.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。

A.2B. 3C. 4D.128.用n个键值构造一棵二叉排序树,最低高度为()A.n/2B.、nC.lognD.logn+19.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) 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.设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key% 13,散列地址为1的链中有()个记录。

数据结构(查找)习题与答案

数据结构(查找)习题与答案

一、单选题1、关于折半查找,以下说法正确的是 ( ) 。

A.待查找表必须有序,可以顺序方式存储,也可以链表方式存储B.待查找表必须有序,且只能以顺序方式存储C.待查找表必须有序,而且必须从小到大排列D.待查找表必须有序且表中数据必须是整型正确答案:B2、具有12个关键字的有序表,折半查找的平均查找长度()。

A.2.5B.37/12C.10/12D.25/12正确答案:B3、以下适合用分块查的数据集是 ( ) 。

A.数据分成大小相等的若干块,块内数据有序B.数据分成若干块,每块(除最后一块外)中数据个数需相同C.数据分成若干块,块内数据必须有序,块间不必有序D.数据分成若干块,块内数据不必有序,但块间必须有序正确答案:D4、分别以下列序列构造二叉排序树,以下哪一个和其他三个不同( ) 。

A.(90,65,25,110,100,107,87,85)B.(90,65,110,100,107,87,85,25)C. (90,110,65,25,87,100,107,85)D.(90,100,65,25,87,85,110,107)正确答案:D5、关于哈希查找,以下说法不正确的是( ) 。

A.哈希查找中,记录的存储地址是计算出来的,因而不需要比较B.链地址法和线性探测再散列都是解决冲突的方法C.装填因子越大,越容易产生冲突D.哈希查找有两个关键问题:哈希函数和处理冲突的方法正确答案:A6、对长度为4的顺序表进行查找,查找顺序从前向后。

若查找前面2个元素的概率均为1/8,查找后2个元素的概率均为3/8,则查找任一元素的平均查找长度为( )。

A.19/4B.39/8C.5.5D.3正确答案:D7、由同一关键字集合构造的各棵二叉排序树( )。

A.形态相同,但平均查找长度不一定相同B.形态和平均查找长度都相同C.形态不一定相同,但平均查找长度相同D.形态和平均查找长度都不一定相同正确答案:D8、100个元素进行折半查找,查找成功时最大的比较次数是()。

数据结构复习--排序和查找

数据结构复习--排序和查找

数据结构复习--排序和查找现在正在学习查找和排序,为了节省时间提⾼效率,就正好边学习边整理知识点吧!知识点⼀:⼆分查找/折半查找1.⼆分查找的判定树(选择题)下列⼆叉树中,可能成为折半查找判定树(不含外部结点)的是: (4分)1.2.3.4.注:折半查找判定树是⼀棵⼆叉排序树,它的中序遍历结果是⼀个升序序列,可以在选项中的树上依次填上相应的元素。

虽然折半查找可以上取整也可以下取整但是⼀个查找判定树只能有⼀种取整⽅式。

如果升序序列是偶数个,那么终点应该偏左多右少。

在2选项中,由根节点左⼦树4个节点⽽右⼦树5个节点可以确定⽤的是向下取整策略,但是它的左⼦节点在左⼦树种对应的终点左边2个,右边个,明显是上取整策略,策略没有统⼀,所以是错的。

其他的选项类似分析。

2.⼆分查找法/折半查找法已知⼀个长度为16的顺序表L,其元素按关键字有序排列。

若采⽤⼆分查找法查找⼀个L中不存在的元素,则关键字的⽐较次数最多是: (2分)1. 72. 63. 54. 4 注:⼀次找到最边界的那⼀个树的情况下有最多次数 这个题中结点数16是个偶数:第⼀次(0+15)/2 7 第⼆次(8+15)/2 11第三次(12+15)/2 14 第四次(14+15)/2 14 第五次(15+15)/2 15(下取整的就向右计算求最多次数)第⼀次(0+15)/2 8 第⼆次(0+7)/2 4 第三次(0+3)/2 2 第四次(0+1)/2 0第五次(0+0)/2 0(下取整的话就向左求最多次数)若结点数是奇数15:第⼀次(0+14)/2 7 第⼆次( 0+6)/2 3 第三次(0+2)/2 1第四次(0+0)/2 0第⼀次(0+14)/2 7 第⼆次(8+14)/2 11 第三次(12+14)/2 13第四次(14+14)/2 0这时候向左或者向右都是OK的(因为得到的数都是能够被2整除的)但是划重点了折半查找⼀个有序表中不存在的元素,若向下取整,则要最多⽐较[log2n]+1次,若向上取整,则要最多⽐较[log2(n+1)],其实就是求树的深度.(这⼀块⾃⼰的说法可能不够准确,希望⼤家看到有问题的可以指出来)结合实际,我们⽤[log2n]+1来算更简单并且计算[log2n]要取整数,因为可能会存在不是满⼆叉树的情况。

查找 排序 习题及答案

查找  排序  习题及答案

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

A. (n-1)/2 B. n/2 C. (n+1)/2 D. n2 用二分(对半)查找表的元素的速度比用顺序法( D )A必然快 B. 必然慢 C. 相等 D. 不能确定3 下面关于m阶B树说法正确的是( B )①每个结点至少有两棵非空子树;②树中每个结点至多有m一1个关键字;③所有叶子在同一层上; ④当插入一个数据项引起B树结点分裂后,树长高一层。

A.①②③ B. ②③ C. ②③④ D. ③4 将10个元素散列到100000个单元的哈希表中,则( C )产生冲突。

A. 一定会B. 一定不会C. 仍可能会5 下列内部排序算法中:A.快速排序 B.直接插入排序 C. 二路归并排序 D. 简单选择排序 E. 起泡排序F. 堆排序(1)其比较次数与序列初态无关的算法是( C,D )(2)在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排序效率最高的算法是( B )(3)排序的平均时间复杂度为O(n•logn)的算法是(A,C,F)为O(n•n)的算法是(B,D,E)6 下列序列中,( C )是执行第一趟快速排序后所得的序列。

A. [68,11,18,69] [23,93,73]B. [68,11,69,23] [18,93,73]C. [93,73] [68,11,69,23,18]D. [68,11,69,23,18] [93,73]7 下列四个序列中,哪一个是堆( C )。

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,158 排序方法有许多种,(1)C法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;(2)A法从未排序的序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端;交换排序方法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换;(3)B和(4)D是基于这类方法的两种排序方法,而(4)D是比(3)B效率更高的方法;(5)G法是基于选择排序的一种排序方法,是完全二叉树结构的一个重要应用。

数据结构图,查找,内排序的练习及答案

数据结构图,查找,内排序的练习及答案

数据结构图,查找,内排序的练习及答案数据结构课后练习习题要求:此次练习不要求上交,只是帮助⼤家掌握知识点,便于复习。

第⼋章图⼀.单项选择题(20分)1. 带权有向图G ⽤邻接矩阵A 存储,则Vi 的⼊度等于A 中___D______A. 第i ⾏⾮∞的元素只和B. 第i 列⾮∞的元素之和C. 第i ⾏⾮∞且⾮0的元素之和D. 第i 列⾮∞且⾮0的元素个数2. ⽆向图的邻接矩阵是⼀个___A____A. 对称矩阵B. 零矩阵C. 上三⾓阵D. 对⾓矩阵3. 在⼀个⽆向图中,所有顶点的度之和等于边数的__C____倍A. 1/2B. 1C. 2D. 44. ⼀个有n 个顶点的⽆向图最多有___C____条边。

A. nB. n(n-1)C. n(n-1)/2D.2n5. 对于⼀个具有n 个顶点的⽆向图,若采⽤邻接矩阵表⽰,则该矩阵⼤⼩是__D_____A. nB. 2)1(?nC. n-1D. 2n6. ⼀个有向图G 的邻接表存储如右图所⽰,现按深度优先搜索遍历,从V1出发,所得到的顶点序列是___B_____。

A. 1,2,3,4,5B. 1,2,3,5,4C. 1,2,4,5,3D. 1,2,5,3,47. 对右图所⽰的⽆向图,从顶点V1开始进⾏深度优先遍历,可得到顶点访问序列__A______(提⽰:可先画出邻居表图再遍历)A. 1 2 4 3 5 7 6B. 1 2 4 3 5 6 7C. 1 2 4 5 6 3 7D. 1 2 3 4 5 6 78. 如果从⽆向图的任⼀顶点出发进⾏⼀次深度优先搜索即可访问所有顶点,则该图⼀定是__B_____A. 完全图B. 连通图C.有回路D. ⼀棵树9. 任何⼀个⽆向连通图___B___最⼩⽣成树(提⽰:注意最⼩⽣成树的定义,此题易错)A. 只有⼀棵B. ⼀棵或多棵C. ⼀定有多棵D.可能不存在11. 若图的邻接矩阵中主对⾓线上的元素全是0,其余元素全是1,则可以断定该图⼀定是_D_____。

数据结构练习第八章-查找

数据结构练习第八章-查找

数据结构练习第八章查找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>3.在二叉排序树中插入一个结点的时间复杂度为〔〕.A.O<1>B.O<n>C. O<log2n> D.O<n2>4.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过〔〕.A. log2n+1B. log2n-1C. log2n D. log2<n+1>5.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较〔〕次.A. 25B.10C. 7D. 16.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为〔〕.A. O<n>B. O<n2>C. O<n1/2>D. O<1og2n>7.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为〔〕.A. O<n>B. O<n2>C. O<nlog2n> 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,则顺序查找的平均比较次数为〔〕.A. nB. n/2C. <n+1>/2D. <n-1>/215.设有序表中的元素为<13,18,24,35,47,50,62>,则在其中利用二分法查找值为24的元素需要经过〔〕次比较.A. 1B.2C. 3D. 416.设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为〔 〕.A. 6B.11C. 5 D . 6.517.设有一组初始记录关键字序列为<34,76,45,18,26,54,92>,则由这组记录关键字生成的二叉排序树的深度为〔 〕.A . 4B.5 C. 6 D. 718.二叉排序树中左子树上所有结点的值均〔 〕根结点的值.A .<B.>C.=D.!=19.设有n 个关键字具有相同的Hash 函数值,则用线性探测法把这n 个关键字映射到HASH 表中需要做〔 〕次线性探测.A. n 2B. n<n+1>C. n<n+1>/2 D . n<n-1>/220.用散列函数求元素在散列表中的存储位置时,可能会出现不同的关键字得到相同散列函数值的冲突现象.可用于解决上述问题的是< >A.线性探测法B.除留余数法C.平方取中法D.折叠法21.22.在线性表的散列存储中,若用m 表示散列表的长度,n 表示待散列存储的元素的个数,则装填因子α等于〔 〕.A .n/mB .m/nC .n/<n+m>D .m/<n+m>23.从一棵B_树删除元素的过程中,若最终引起树根结点的合并,则新树高度是〔 〕.A .原树高度加1B .原树高度减1C .原树高度D .不确定24.向二叉搜索树中插入一个元素时,其时间复杂度大致为〔 〕.A.O 〔log 2n 〕 B. O<n>C. O<1> D. 0<nlog 2n>25.5阶B 树中,每个结点最多有〔〕个关键码.A .2B .3C .4D .526.对一棵二叉排序树采用中根遍历进行输出的数据一定是〔 〕A.递增或递减序列B.递减序列C.无序序列D.递增序列27.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,查找成功时的比较次数为〔 〕A.1B.2C.4D.828.若构造一棵具有n 个结点的二叉排序树,最坏的情况下其深度不超过< > A. 2n B. n C. 21n + D. n+1 29.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是< >A.由同义词之间发生冲突引起的B.由非同义词之间发生冲突引起的C.由同义词之间或非同义词之间发生冲突引起的D.由散列表"溢出〞引起的30.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中.这种方式主要适合于< >A.静态查找表B.动态查找表C.静态查找表与动态查找表D.静态查找表或动态查找表31.设一组记录的关键字key值为{62,50,14,28,19,35,47,56,83},散列函数为H<key>=key mod13,则它的开散列表中散列地址为1的链中的结点个数是〔〕A.1B.2 C.3 D.432.已知一个有序表为〔13,18,24,35,47,50,62,83,90,115,134〕,当二分检索值为90的元素时,检索成功需比较的次数是〔〕A.1B.2C.3D.433.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是由〔〕A.同义词之间发生冲突引起的B.非同义词之间发生冲突引起的C.同义词与非同义词之间发生冲突引起的D.散列地址"溢出〞引起的34.在最坏的情况下,查找成功时二叉排序树的平均查找长度〔〕A.小于顺序表的平均查找长度B.大于顺序表的平均查找长度C.与顺序表的平均查找长度相同D.无法与顺序表的平均查找长度比较35.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是由〔〕A.同义词之间发生冲突引起的B.非同义词之间发生冲突引起的C.同义词之间或非同义词之间发生冲突引起的D.散列表"溢出〞引起的36.设有100个元素,用二分法查找时,最大比较次数是〔〕.A.25 B.7C.10 D.137.设有1000个元素,用二分法查找时,最小比较次数为〔〕A.0 B.1C.10 D.50038.在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度〔即x与元素的平均比较次数,假定查找每个元素的概率都相等〕为< >.A.nB. n/2C. <n+1>/2D. <n-1>/239.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为〔〕.A.R[0],R[1],R[2],R[3] B.R[0],R[13],R[2],R[3] C.R[6],R[2],R[4],R[3] D.R[6],R[4],R[2],R[3] 40.在一个有N个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为< B >A.O<1>B.O<N>C.0〔N2〕D.O<NlogN>41.对线性表进行二分查找时,要求线性表必须〔B〕A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以方式存储D.以方式存储,且数据元素有序42.下列二叉排序树中查找效率最高的是< A >A.平衡二叉树B.二叉查找树C.没有左子树的二叉排序树D.没有右子树的二叉排序树43.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法.AA. 分块B. 顺序C. 折半D. 哈希44.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是< C >A.<100,80,90,60,120,110,130>B.<100,120,110,130,80,60,90>C.<100,60,80,90, 20,110,130>D.<100,80,60,90,120,130,110>45.下面关于B和B+树的叙述中,不正确的是<C >A. B树和B+树都是平衡的多叉树.B. B树和B+树都可用于文件的索引结构.C. B树和B+树都能有效地支持顺序检索.D. B树和B+树都能有效地支持随机检索.46.m阶B-树是一棵< B >A. m叉排序树B. m叉平衡排序树C. m-1叉平衡排序树D.m+1叉平衡排序树47.在一棵含有n个关键字的m阶B-树中进行查找,至多读盘< C >次.48.一棵3阶B-树中含有2047个关键字,包括叶子结点层,该树的最大深度为< B >.A, 11 B. 12 C. 13 D. 1449.关于杂凑查找说法不正确的有几个< B > 〔1〕采用链地址法解决冲突时,查找一个元素的时间是相同的〔2〕采用链地址法解决冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的〔3〕用链地址法解决冲突易引起聚集现象〔4〕再哈希法不易产生聚集A. 1B. 2C. 3D. 450.设哈希表长M=14,哈希函数H<KEY>=KEY MOD 11.表中已有4个结点:ADDR<15>=4, ADDR<38>=5,ADDR<61>=6,ADDR<84>=7,其余地址为空,如用二次探测再散列处理冲突,关键字为49的结点的地址是< D >.A. 8B. 3C. 5D. 951.散列函数有一个共同的性质,即函数值应当以< D >取其值域的每个值.A. 最大概率B. 最小概率C. 平均概率D. 同等概率52.将10个元素散列到100000个单元的哈希表中,则〔C〕产生冲突.A. 一定会B. 一定不会C. 仍可能会53.长度为10的按关键字有序的查找表采用顺序组织方式.若采用折半查找方法,则在等概率情况下,查找失败时的ASL值是〔D〕A.24/10B.24/11C.39/10D.39/1154.在采用拉链法处理冲突所构成的开散列表上查找某一关键字,在查找成功的情况下,所探测的这些位置上的键值〔A〕A.一定都是同义词B.不一定都是同义词C.都相同D.一定都不是同义词55.二叉查找树的查找效率与二叉树的树型有关, 在 <C >时其查找效率最低.A. 结点太多B. 完全二叉树C. 呈单枝树D. 结点太复杂.56.具有12个关键字的有序表,折半查找的平均查找长度〔A〕A. 3.1B. 4C. 2.5D. 557.哈希查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行< C >次探测.A. k B. k+1 C. k<k+1>/2 D.1+k<k+1>/258.对线性表进行二分查找时,要求线性表必须〔B〕A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以方式存储D.以方式存储,且数据元素有序59.若查找每个元素的概率相等,则在长度为n 的顺序表上查找任一元素的平均查找长度为< D> .A. nB. n+1C. <n-1>/2D. <n+1>/260.对长度为10 的顺序表进行查找,若查找前面 5 个元素的概率相同,均为1/8 ,查找后面 5 个元素的概率相同,均为3/40 ,则查找任一元素的平均查找长度为< C> .A.5.5B.5C.39/8D.19/461.对长度为3 的顺序表进行查找,若查找第一个元素的概率为1/2 ,查找第二个元素的概率为1/3 ,查找第三个元素的概率为1/6 ,则查找任一元素的平均查找长度为< A> .A .5/3B .2 C. 7/3 D. 4/362.对长度为n 的单链有序表,若查找每个元素的概率相等,则查找任一元素的平均查找长度为< B> .A. n/2 B . <n+1>/2 C. <n-1>/2 D. n/463.对于长度为9 的顺序存储的有序表,若采用二分查找,在等概率情况下的平均查找长度为< A> 的9 分之一.A .20 B. 18 C. 25 D. 2264.对于长度为18 的顺序存储的有序表,若采用二分查找,则查找第15 个元素的查找长度为< B> .A. 3B. 4C. 5D. 665.对于顺序存储的有序表<5,12,20,26,37,42,46,50,64> ,若采用二分查找,则查找元素26 的查找长度为< C> .A .2 B. 3 C. 4 D. 566.对具有n 个元素的有序表采用二分查找,则算法的时间复杂性为< D> .A. O <n>B. O <n 2 >C. O <1>D. O <log 2 n>67.在索引查找中,若用于保存数据元素的主表的长度为n ,它被均分为k 个子表,每个子表的长度均为n/k ,则索引查找的平均查找长度为< D> .A. n+kB. k+n/kC. <k+n/k>/2D. <k+n/k>/2+168.在索引查找中,若用于保存数据元素的主表的长度为n ,它被均分为若干个子表,每个子表的长度均为s ,则索引查找的平均查找长度为< B > .A. <n+s>/2B. <n/s+s>/2+1C. <n+s>/2+1 D . <n/s+s>/269.在索引查找中,若用于保存数据元素的主表的长度为144 ,它被均分为12 子表,每个子表的长度均为12 ,则索引查找的平均查找长度为< A> .A .13 B. 24 C. 12 D. 7970.在索引查找中,若用于保存数据元素的主表的长度为117 ,它被均分为9 子表,则索引查找的平均查找长度为< B> .A. 11B. 12 C .13 D. 971.在一棵深度为h 的具有n 个元素的二叉排序树中,查找所有元素的最长查找长度为< D> .A. nB. log 2 nC. <h+1>/2D.h72.从具有n 个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂性大致为< C> .A. O <n>B. O <1>C. O <log 2 n>D. O <n 2 >73.从具有n 个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂性为< A> .A. O <n>B. O <1>C. O <log 2 n>D. O <n 2 >74.向具有n 个结点的二叉搜索树中插入一个元素时,其时间复杂性大致为< B > .A. O <1> B .O <log 2 n > C. O <n> D. O < n log 2n >75.根据n 个元素建立一棵二叉搜索树时,其时间复杂性大致为< D> .A. O <n> B .O <log 2 n > C. O <n 2 > D .O < n log 2n >76.在一棵平衡二叉排序树中,每个结点的平衡因子的取值范围是< A> .A .-1 ~ 1 B. -2 ~ 2 C. 1 ~ 2 D. 0 ~ 177.若根据查找表<23,44,36,48,52,73,64,58> 建立开散列表,采用h<K>=K%13 计算散列地址,则元素64 的散列地址为< C> .A. 4B. 8C. 12D. 1378.若根据查找表<23,44,36,48,52,73,64,58> 建立开散列表,采用h<K>=K%7 计算散列地址,则散列地址等于 3 的元素个数< B> .A.1 B .2 C. 3 D. 479.若根据查找表<23,44,36,48,52,73,64,58> 建立开散列表,采用h<K>=K%7 计算散列地址,则同义词元素个数最多为< C> .A. 1B. 2C. 3D. 480.若根据查找表建立长度为m 的闭散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为 d ,则下一次的散列地址为<D> .A. dB. d+1C. <d+1>/mD. <d+1>%m81.若根据查找表建立长度为m 的闭散列表,采用二次探测法处理冲突,假定对一个元素第一次计算的散列地址为 d ,则第四次计算的散列地址为< C> .A. <d+1>%mB. <d-1>%m C . <d+4>%m D. <d-4>%m82.在采用线性探测法处理冲突的闭散列表上,假定装填因子 a 的值为0.5 ,则查找任一元素的平均查找长度为<B> .A. 1B. 1.5C. 2 D .2.583.在采用法处理冲突的开散列表上,假定装填因子 a 的值为 4 ,则查找任一元素的平均查找长度为< A> .A. 3B. 3.5C. 4D. 2.584.在散列查找中,平均查找长度主要与< C> 有关.A.散列表长度B.散列元素的个数C.装填因子D.处理冲突方法85.对顺序表进行二分查找时,要求顺序表必须:A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以方式存储D.以方式存储,且数据元素有序[解答]B86.下列二叉排序树中查找效率最高的是:A.平衡二叉树B.二叉查找树C.没有左子树的二叉排序树D.没有右子树的二叉排序树[解答]A二、填空题1.假定一个线性表为<12,23,74,55,63,40>,若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为_____________、___________、________和___________.〔12,40〕,〔〕,〔74〕,〔23,55,63〕2.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________.增加13. 为了能有效地应用HASH查找技术,必须解决的两个问题是________________和_____________________.构造一个好的HASH函数,确定解决冲突的方法4.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中.75.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句.struct record{int key; int others;};int hashsqsearch<struct record hashtable[ ],int k>{int i,j; j=i=k % p;while <hashtable[j].key!=k&&hashtable[j].flag!=0>{j=<____> %m; if <i==j> return<-1>;}if <_______________________ > return<j>; else return<-1>;} j+1,hashtable[j].key==k6.下列算法实现在二叉排序树上查找关键值k,请在下划线处填上正确的语句.typedef struct node{int key; struct node *lchild; struct node *rchild;}bitree;bitree *bstsearch<bitree *t, int k>{if <t==0 > return<0>;else while <t!=0>if <t->key==k>_____________;else if <t->key>k> t=t->lchild;else_____________;} return<t>,t=t->rchild7.根据初始关键字序列<19,22,01,38,10>建立的二叉排序树的高度为____________.38.设散列函数H<k>=k mod p,解决冲突的方法为链地址法.要求在下列算法划线处填上正确的语句完成在散列表hashtalbe中查找关键字值等于k的结点,成功时返回指向关键字的指针,不成功时返回标志0.typedef struct node {int key; struct node *next;} lklist;void createlkhash<lklist *hashtable[ ]>{int i,k; lklist *s;for<i=0;i<m;i++>_____________________;for<i=0;i<n;i++>{s=<lklist *>malloc<sizeof<lklist>>; s->key=a[i];k=a[i] % p; s->next=hashtable[k];_______________________;}}hashtable[i]=0,hashtable[k]=s9.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句.struct record{int key; int others;};int bisearch<struct record r[ ], int k>{int low=0,mid,high=n-1;while<low<=high>{________________________________;if<r[mid].key==k> return<mid+1>;else if<____________> high=mid-1;else low=mid+1;}return<0>;} mid=<low+high>/2,r[mid].key>k10.设需要对5个不同的记录关键字进行排序,则至少需要比较_____________次,至多需要比较_____________次.4,1011.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个.1,212.设二叉排序树的高度为h,则在该树中查找关键字key 最多需要比较_________次.h13.设散列表的长度为8,散列函数H<k>=k %7,用线性探测法解决冲突,则根据一组初始关键字序列<8,15,16,22,30,32>构造出的散列表的平均查找长度是________.8/314.设一组初始记录关键字序列为<20,12,42,31,18,14,28>,则根据这些记录关键字构造的二叉排序树的平均查找长度是_______________________________.19/715.下面程序段的功能是实现在二叉排序树中插入一个新结点,请在下划线处填上正确的内容.typedef struct node{int data;struct node *lchild;struct node *rchild;}bitree;void bstinsert<bitree *&t,int k>{if<t==0>{____________________________;t->data=k;t->lchild=t->rchild=0;} else if <t->data>k> bstinsert<t->lchild,k>;else__________________________;} t=<bitree *>malloc<sizeof<bitree>>,bstinsert<t->rchild,k>16.解决散列表冲突的两种方法是________________和__________________.开放定址法,链地址法17.在一棵m 阶B_树上,每个非树根结点的关键字数目最少为_______个,最多为_____个,其子树数目最少为______,最多为____.⎡⎤12/-m 、m-1 、⎡⎤2/m 、 m18.从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找.查找成功、左子树、右子树19.对于二分查找所对应的判定树,它既是一棵_____,又是一棵__________.二叉搜索树、理想平衡树20.二叉搜索树的中序遍历得到的结点序列为________. 有序序列21.从有序表〔12,18,30,43,56,78,82,95〕中依次二分查找43和56元素时,其查找长度分别为___________和__________.1 , 322.假定对长度n=144的线性表进行索引查找,并假定每个子表的长度均为n,则进行索引查找的平均查找长度为__________,时间复杂度为___________.13, O<n>23.一棵B-树中的所有叶子结点均处在_____________上.同一层24.每次从无序表中顺序取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做_______排序;每次从无序表中挑选出一个最大或最小元素,把它交换到有序表中的一端,此种排序方法叫做_________排序.插入选择25.对于线性表〔18,25,63,50,41,32,90,66〕进行散列存储时,若选用H〔K〕=K%11作为散列函数,则散列地址为0的元素有______个,散列地址为3的元素有______个,散列地址为8的元素有______个.1 1 226.在一个具有n个结点的单链表中查找值为m的某结点,若查找成功,则需平均比较的结点数为____<n+1>/2________.27.在一棵二叉排序树上按_____中序_______遍历得到的结点序列是一个有序序列.28.实现二分查找的存储结构仅限于顺序存储结构,且其中元素排列必须是____有序的.29.设顺序表的表长为n,且查找每个元素的概率相等,则采用顺序查找法查找表中任一元素,在查找成功时的平均查找长度为___<n+1>/2_______.30.在索引顺序表上的查找分两个阶段:一是查找_____索引表_____,二是查找块.31.一棵平衡二叉树中任一结点的平衡因子只可能是__-1,0,1_____.n>_____.32.二分查找的时间复杂度为__O<log233.查找表的数据结构有别于线性表、树型结构等,其逻辑结构为____集合______.34.长度为L的顺序表,采用设置岗哨方式顺序查找,若查找不成功,其查找长度为__L+1_______.35.在开散列表上查找某元素时,通常分两步进行,首先必须计算该键值的散列地址,然后在地址指针所指_________同义词子表_______中查找该结点.36.对二叉排序树进行__中序______遍历,可得到排好序的递增结点序列. 37.采用折半查找方法进行查找的数据序列应为____顺序存储____且___有序_____.38.查找表的逻辑组织结构实际上是____集合____________结构.39.对于具有n个元素的数据序列,采用顺序查找法,其平均查找长度为____<n+1>/2______.40.快速排序算法在最差的情况下其时间复杂度是.O<n2>41.在线性表的________存储中,对每一个元素只能采用顺序查找.链式42.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为________________.〔n+1〕/243.以顺序查找方法从长度为n的线性表中查找一个元素时,平均查找长度为________,时间复杂度为________.<n+1>/2、O<n>44.以二分查找方法从长度为n的线性有序表中查找一个元素时,平均查找长度小于等于________,时间复杂度为________.O<log2n>45.以二分查找方法从长度为12的有序表中查找一个元素时,平均查找长度为________.37/1246.以二分查找方法查找一个线性表时,此线性表必须是________存储的________表.顺序、有序47.从有序表<12,18,30,43,56,78,82,95>中依次二分查找43和56元素时,其查找长度分别为________和________.1、348.对于二分查找所对应的判定树,它既是一棵_______,又是一棵________.二叉搜索树、理想平衡树49.假定对长度n=50的有序表进行二分查找,则对应的判定树高度为________,判定树中前5层的结点数为________,最后一层的结点数为________.6、31、19 50.在索引表中,每个索引项至少包含有________域和________域这两项.索引、开始地址51.假定一个线性表为<12,23,74,55,63,40,82,36>,若按Key % 3条件进行划分,使得同一余数的元素成为一个子表,则得到的三个子表分别为________、________和________.<12,63,36>、<55,40,82>、<23,74>52.假定一个线性表为<〞abcd〞,〞baabd〞,〞bcef〞,〞cfg〞,〞ahij〞,〞bkwte〞,〞ccdt〞,〞aayb〞>,若按照字符串的第一个字母进行划分,使得同一个字母被划分在一个子表中,则得到的a,b,c三个子表的长度分别为________、________和________.3、3、253.在线性表的________存储中,无法查找到一个元素的前驱或后继元素.散列54.在线性表的________存储中,对每一个元素只能采用顺序查找.55.假定对线性表<38,25,74,52,48>进行散列存储,采用H<K>=K % 7作为散列函数,若分别采用线性探查法和法处理冲突,则对各自散列表进行查找的平均查找长度分别为_______和________.2、7/556.假定要对长度n=100的线性表进行散列存储,并采用法处理冲突,则对于长度m=20的散列表,每个散列地址的单链表的长度平均为________.557.在线性表的散列存储中,处理冲突有________和________两种方法.开放定址、58.对于线性表<18,25,63,50,42,32,90>进行散列存储时,若选用H<K>=K % 9作为散列函数,则散列地址为0的元素有________个,散列地址为5的元素有________个.3、259.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为_________,整个堆排序过程的时间复杂度为________________.O〔log2n〕、O<nlog2n>;60.顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为__ __次;当使用监视哨时,若查找失败,则比较关键字的次数为__ __.n n+161.在各种查找方法中,平均查找长度与结点个数n无关的查找方法是.哈希查找62.在有序表A[1..12]中,采用二分查找算法查等于A[12]的元素,所比较的元素下标依次为__________.6,9,11,1263.己知有序表为<12,18,24,35,47,50,62,83,90,115,134>当用二分法查找90时,需__________次查找成功,47时__________成功,查100时,需__________次才能确定不成功.2,4,364.平衡二叉树又称_________,其定义是________.AVL树<高度平衡树,高度平衡的二叉排序树>,或为空二叉树,或二叉树中任意结点左子树高度与右子树高度差的绝对值小于等于1.65.在哈希函数H〔key〕=key%p中,p值最好取_________.小于等于表长的最大素数或不包含小于20的质因子的合数66.有一个2000项的表,欲采用等分区间顺序查找方法进行查找,则每块的理想长度是__<1>___,分成__<2>___块最为理想,平均查找长度是__<3>___.<1>45 <2>45 <3>46<块内顺序查找>67.假定有k个关键字互为同义词,若用线性探测再散列法把这k个关键字存入散列表中,至少要进行__________次探测.k<k+1>/268.查找是非数值程序设计的一个重要技术问题,基本上分成__<1>__查找,__<2>__查找和__<3>__查找.处理哈希冲突的方法有__<4>__、__<5>__、__<6>__和__<7>__.<1>顺序表 <2>树表 <3>哈希表 <4>开放定址方法<1><5>链地址方法 <6>再哈希 <7>建立公共溢出区69.在含有n个结点的二叉排序树中查找一个关键字,进行关键字比较次数最大值是.n70.一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该树共有个结点.2k-171.假定查找有序表A[1..12]中每个元素的概率相等,则进行二分查找时的平均查找长度为__________ 37/1272.动态查找表和静态查找表的重要区别在于前者包含有__________和__________运算,而后者不包含这两种运算.插入删除73.对于具有144 个记录的文件,若采用分块查找法,且每块长度为8,则平均查找长度为__________. 1474.以顺序查找方法从长度为n 的顺序表或单链表中查找一个元素时,平均查找长度为________ ,时间复杂性为________ .<n+1>/2 O<n>75.假定一个顺序表的长度为40 ,并假定查找每个元素的概率都相同,则在查找成功情况下的平均查找长度________ ,在查找不成功情况下的平均查找长度________ .20.5 4176.以二分查找方法从长度为50 的有序表中查找一个元素时,其查找长度不超过________ .677.以二分查找方法在一个查找表上进行查找时,该查找表必须组织成________ 存储的________ 表.顺序有序78.从有序表<12,18,30,43,56,78,82,95> 中分别二分查找43 和56 元素时,其查找长度分别为________ 和________ .1 379.二分查找所对应的判定树,既是一棵_______ ,又是一棵________ .二叉排序。

数据结构排序部分练习题

数据结构排序部分练习题

一、单选题12.设有5000个无序的元素,希望用最快的速度挑选出其中前50个最大的元素,最好选用( )法。

A.冒泡排序B.快速排序C.堆排序D.归并排序1.已知持排序的n个元素可分为n/k个组,每个组包含k个元素,各组间分块有序,若采用基于比较的排序,其时间下界应为:( )A.O(nlog2n) B.O(nlog2k) C.O(klog2n) D.O(klog2k))且稳定的排序方法是( )。

2.最好和最坏时间复杂度均为O(nnlog2A.快速排序B.堆排序C.归并排序D.基数排序3.下列排序算法中,当初始数据有序时,花费时间反而最多的是( )。

A.起泡排序B.希尔排序C.堆排序D.快速排序4.若需在O(nlog2n)的时间内完成排序,且要求稳定,则可选择()A.快速排序B.堆排序C.归并排序D.直接插入排序5.排序趟数与序列的原始状态有关的排序方法是( )排序法。

A.插入B.选择C.希尔D.快速6.已知数据表每个元素距离其最终位置不远,则最省时间的排序算法是( )。

A.堆排序B.直接插入排序C.快速排序D.直接选择排序7.关键字比较次数与数据的初始状态无关的排序算法是( )。

A.直接选择排序B.冒泡排序C.直接插入排序D.希尔排序8. 若一个元素序列基本有序,则选用()方法较快。

A.直接插入排序B.直接选择排序C.堆排序D.快速排序9. 若要从1000个元素中得到4个最小值元素,最好采用()方法。

A.直接插入排序B.直接选择排序C.堆排序D.快速排序10. 若要对1000个元素排序,要求既快又稳定,则最好采用()方法。

A.直接插入排序B.归并排序C.堆排序D.快速排序11. 若要对1000个元素排序,要求既快又节省存储空间,则最好采用()方法。

A.直接插入排序B.归并排序C.堆排序D.快速排序12. 在下列排序方法中,空间复杂性为O(log2n)的方法为()。

A.直接选择排序B.归并排序C.堆排序D.快速排序13. 在平均情况下速度最快的排序方法为()。

数据结构(查找)习题与答案

数据结构(查找)习题与答案

一、单选题1、对于查找表(13,27,38,49,50 ,65,76,97)采用顺序查找,在等概率情况下查找成功的平均查找长度是()。

A.4.5B.9C.4D.8正确答案:A2、在关键字序列(10,20,30,40,50)中采用折半查找20,依次与()关键字进行了比较。

A.30,10,20B.20C.30,20D.40,20正确答案:A3、在关键字序列(8,12,20,25,33)中,采用二分查找25,关键字之间比较需要()次。

A.2B.1C.3D.4正确答案:A4、对于长度为11的有序表,按折半查找,在等概率情况下查找成功时,其平均查找长度是()。

A.3B.4C.1D.2正确答案:A5、对于长度为11的有序表,按折半查找,在查找失败时,待查找值域表中关键字比较的次数是()。

A.3次或4次B.2次或3次C.4次或5次D.1次或2次正确答案:A6、对于长度为n的有序表,按折半查找,在等概率情况下查找成功平均时间复杂度是()。

A.O(㏒n)B.O(n)C.O(1)D.O(n㏒n)正确答案:A7、索引顺序查找也叫分块查找,其查找过程分为是()个步骤。

A.1B.3C.4D.2正确答案:D8、对于长度为n的关键字序列创建一颗二叉排序树,该树可能的最大高度是()。

A.n+1B.n-1C.㏒nD.n正确答案:D9、对于关键字序列(30,25,40,35,45),按序列次序创建一颗二叉排序树,在等概率情况下查找成功时,其平均查找长度是()。

A.8/3B.11/5C.8D.11正确答案:B10、影响散列查找时间效率的主要因素()。

A.仅与散列表中实际元素个数相关B.仅与散列表长相关C.与散列表长和散列表中实际元素个数均相关D.与散列表长和散列表中实际元素个数均不相关正确答案:C11、一组关键字序列为(27,17,9,19,16,43,53,8,63),用哈希函数H(key)=key MOD 8和链地址法处理冲突,查找关键字43,与散列表中关键字进行了()次比较。

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

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

第九章查找一、选择题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,则应作( ) 型调整以使其平衡。

数据结构查找和排序习题

数据结构查找和排序习题

第九章查找一、选择题1、已知一个有序表为(11,22,33,44,55,66,77,88,99),则折半查找55需要比较()次。

A.1B.2C.3D.43、解决哈希冲突的主要方法有()。

A.数字分析法、除余法、平方取中法B.数字分析法、除余法、线性探测法C.数字分析法、线性探测法、再哈希法D.线性探测法、再哈希法、链地址法4、在一棵深度为h的具有n个元素的二叉排序树中,查找所有元素的最长查找长度为()。

A.nB.log2nC.(h+1)/2D.h5、已知表长为25的哈希表,用除留取余法,按公式H(key)=key MOD p建立哈希表,则p应取()为宜。

A.23B.24C.25D.266、设哈希表长m=14,哈希函数H(key)=key MOD11。

表中已有4个结点:addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7其余地址为空,如用二次探测再散列处理冲突,则关键字为49的地址为()。

A.8B.3C.5D.99、m阶B-树中的m是指()。

A.每个结点至少具有m棵子树B.每个结点最多具有m棵子树C.分支结点中包含的关键字的个数D.m阶B-树的深度10、一个待散列的线性表为k={18,25,63,50,42,32,9},散列函数为H(k)=k MOD9,与18发生冲突的元素有()个。

A.1B.2C.3D.411、在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插到集合中,这种方式主要适合于()。

A.静态查找表B.动态查找表C.静态查找表和动态查找表D.两种表都不适合12、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,(B)次比较后查找成功。

A.1B.4C.2D.813、在各种查找方法中,平均查找承担与结点个数n无关的查找方法是()。

A.顺序查找B.折半查找C.哈希查找D.分块查找14、下列二叉树中,不.平衡的二叉树是()。

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

数据结构查找与排序练习题一、选择题1.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/22.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()。

A.35/12 B.37/12 C.39/12 D.43/125.折半查找的时间复杂性为()A. O(n2)B. O(n)C. O(nlogn)D. O(logn)6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,37.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。

A.2B. 3C. 4D.128.用n个键值构造一棵二叉排序树,最低高度为()A.n/2B.、nC.lognD.logn+19.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) 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.设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key% 13,散列地址为1的链中有()个记录。

A.1 B. 2 C. 3 D. 411.已知一采用开放地址法解决Hash表冲突,要从此Hash表中删除出一个记录,正确的做法是()A.将该元素所在的存储单元清空。

B.将该元素用一个特殊的元素代替C.将与该元素有相同Hash地址的后继元素顺次前移一个位置。

D.用与该元素有相同Hash地址的最后插入表中的元素替代。

12.假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?( )A.k-1次 B. k次C. k+1次D. k(k+1)/2次13.散列表的地址区间为0-17,散列函数为H(K)=K mod 17。

采用线性探测法处理冲突,并将关键字序列26,25,72,38,8,18,59依次存储到散列表中。

(1)元素59存放在散列表中的地址是()。

A. 8 B. 9 C. 10 D. 11(2)存放元素59需要搜索的次数是()。

A. 2 B. 3 C. 4 D. 514.将10个元素散列到100000个单元的哈希表中,则()产生冲突。

A. 一定会B. 一定不会C. 仍可能会15.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有()个。

A.1B.2C.3D.416.下列排序方法中,哪一个是稳定的排序方法?()A.直接选择排序 B.直接插入排序 C.希尔排序 D.快速排序17.在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。

A.直接插入排序B.气泡排序C. 快速排序D.直接选择排序18.比较次数与排序的初始状态无关的排序方法是( )。

A.直接插入排序B.起泡排序C.快速排序D.简单选择排序19.对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。

A.选择B.快速C.希尔D.冒泡20.一组记录的关键码为(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)21.就平均性能而言,目前最好的内排序方法是( )排序法。

A.冒泡B.希尔插入C.交换D.快速22.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。

A.插入B.选择C.希尔D.快速23.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

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,4024.直接插入排序在最好情况下的时间复杂度为()A.O(logn)B.O(n)C.O(n*logn)D.O(n2)25.对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是 ( )A.lB.4C.3D.226.对下列关键字序列用快速排序法进行排序时,速度最快的情形是()。

A.{21,25,5,17,9,23,30}B.{25,23,30,17,21,5,9}C.{21,9,17,30,25,23,5} D.{5,9,17,21,23,25,30}27.快速排序方法在()情况下最不利于发挥其长处。

A.要排序的数据量太大B.要排序的数据中含有多个相同值C.要排序的数据个数为奇数D.要排序的数据已基本有序28.对n个记录进行希尔排序,所需要的辅助存储空间为()。

A.O(1og2n)B.O(n)C.O(1)D.O(n2)29.下列四个序列中,哪一个是堆()。

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,1530.就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是()A.堆排序〈快速排序〈归并排序B.堆排序〈归并排序〈快速排序C.堆排序〉归并排序〉快速排序D.堆排序 > 快速排序>归并排序E.以上答案都不对二、判断题1.查找相同结点的效率折半查找总比顺序查找高。

2.对无序表用二分法查找比顺序查找快。

3.对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。

4.二叉排序树或者是一棵空树;或者是具有如下特性的二叉树:(1)若它的左子树不空,则左子树上所有结点的值均小于根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于根结点的值。

5.在查找树(二叉树排序树)中插入一个新结点,总是插入到叶结点下面。

6.对一棵二叉排序树按前序方法遍历得出的结点序列是从小到大的序列。

7.二叉树中除叶结点外, 任一结点X,其左子树根结点的值小于该结点(X)的值;其右子树根结点的值≥该结点(X)的值,则此二叉树一定是二叉排序树。

8.在任意一棵非空二叉排序树中,删除某结点后又将其插入,则所得二排序叉树与原二排序叉树相同。

9.采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不应将这个记录的所在位置置空,因为这会影响以后的查找。

10.在散列检索中,“比较”操作一般也是不可避免的。

11.散列函数越复杂越好,因为这样随机性好,冲突概率小.12.Hash表的平均查找长度与处理冲突的方法无关。

13.负载因子 (装填因子)是散列表的一个重要参数,它反映散列表的装满程度。

14.若散列表的负载因子α<1,则可避免碰撞的产生。

15.哈希表的平均查找长度不为0,是因为哈希函数在绝大多数情况下是多对一的映射,即存在冲突。

16.可以创建一种查找表,其在十亿个元素中查找与在10个元素中查找所用的时间差不多。

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

18.内排序要求数据一定要以顺序方式存储。

19.排序算法中的比较次数与初始元素序列的排列无关。

20.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。

21.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。

22.直接选择排序算法在最好情况下的时间复杂度为O(N)。

23.在初始数据表已经有序时,快速排序算法的时间复杂度为O(nlog2n )。

24.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省25.快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少。

26.堆是满二叉树。

27.在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。

28.堆排序是稳定的排序方法。

29.归并排序辅助存储为O(1)。

30.冒泡排序和快速排序都是基于交换两个逆序元素的排序方法,冒泡排序算法的最坏时间复杂性是O(n*n),而快速排序算法的最坏时间复杂性是O(nlog2n),所以快速排序比冒泡排序算法效率更高。

31.快速排序和归并排序在最坏情况下的比较次数都是O(nlog2n)。

32.归并排序在任何情况下都比所有简单排序速度快。

33.快速排序总比简单排序快。

三、填空题1.顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为__ __次。

2.在有序表A[1..20]中,按二分查找方法进行查找,查找长度为5的元素个数是__ _3.在有序表A[1…20]中,按二分查找方法进行查找,查找长度为4的元素的下标从小到大依次是 ______。

4.有序表(12,18,24,35,47,50,62,83,90,115,134)使用二分法查找90时,需____ ___次查找成功,查100时,需____ _____次才能确定不成功。

5.平衡因子的定义是__________6.高度为8的平衡二叉树的结点数至少有___ ___个。

7. 动态查找表和静态查找表的重要区别在于前者包含有__ __和__ __运算,而后者不包含这两种运算。

四、应用题1.假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:(1).画出描述折半查找过程的判定树;(2).若查找元素54,需依次与那些元素比较?(3).若查找元素90,需依次与那些元素比较?(4).假定每个元素的查找概率相等,求查找成功时的平均查找长度。

相关文档
最新文档