查找和排序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
型调整以使其平衡。
A 、LL B、 LR C、 RL D、 RR
二、判断题
1、n 个数放在一维数组中,在进行顺序查找时,这 n 个数的排列有序或无序其平均查找长
度不同。
2、若散列表的装填因子小于 1,则可避免碰撞的产生。
3、哈希表的平均查找长度与处理冲突的方法无关。
4、对无序表用折半法查找比顺序查找法快。
为 90 的结点时,经过
比较后查找成功。
A、 1
B、 2
C、4
D、5
6.快速排序在最坏情况下的时间复杂度是( )。
A、O(log2n) B、O(nlog2n) C、O(n2) D、O(n3) 7、如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用
查找方法。
A、分块 B、顺序 C、二分 D、散列
H(key)=key%11 ,若采用线性探测法解决冲突,则平均查找长度为
;若采用链
地址法解决冲突,则平均查找长度为
。
16.假定有 k 个关键字互为同义词,若用线性探测法把这 k 个关键字存入散列表中,至少要
进行
探测。
四、解答题 1.简述顺序查找法,折半查找法和分块查找法对被查找表中元素的要求。
2.假定对有序表(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题: (1)画出描述折半查找过程的判定树。 (2)若查找元素54,需依次与那些元素比较。 (2)若查找元素90,需依次与那些元素比较。 (3)求查找成功时的平均查找长度。 3、对下面的关键字集{30,15,21,40,25,26,36,37}若查找表的装填因子为 0.8,采用 线性探测再散列方法解决冲突,哈希函数为 H(key)=key% 7,画出该哈希表,并计算查 找成功的平均查找长度。 4.设有一组关键字{ 9,1,23,14,55,20,84,27 }.采用哈希函数:H(key)=key%7。 采用开放地址法的二次探测再散列方法解决冲突
19、下列关于 m 阶 B-树的说法错误的是
。
A、根结点至多有 m 棵子树。
B、 所欲叶子都在同一层
C、非叶子结点至少有 m/2(m 为偶数)或 m/2+1(m 为奇数)棵子树
D、根结点中的数据都是有序的。
20、一棵 3 阶 B-树中含有 2047 个关键字,包含叶结点层,该树的最大深度为
。
A、11
5、在二叉排序树中插入一个新结点,总是插入到叶节点下面。
6、平衡二叉树中,若某个结点的左、右孩子的平衡因子为零,则该结点的平衡因子一定是
零。
7、对两棵具有相同关键字而形状不同的二叉排序树,按中序遍历得到的序列却是一致的。
8、完全二叉树肯定是平衡二叉树
9、在 9 阶 B-树中,除叶子以外的任意结点的分支数介于 5 和 9 之间。
B 、(100,120,110,130,80,60,90)
C 、(100,60,80,90,120,110,130)
D 、(100,80,60,90,120,130,110) 23、设二叉排序树中关键字由 1 至 1000 的整数构成,现要查找关键字为 363 的结点,下述关 键字序列哪一个不可能是在二叉排序树上查到的序列? A、2,252,401,398,330,344,397,363;
个结点。
13.高度为 5 的平衡二叉树;其结点数最多可以有
个;最少可以是
个。
14.在一棵 m 阶的 B-树中,当一关键字插入某结点而引起该结点分裂时,此结点原有
个关键字。若删去某结点中的一个关键字,而导致该结点合并时,该结点中原有
个关键字。
15.一个待散列存储的线性表为(18,34,58,26,75,67,48,93,81),哈希函数为
三、填空题
1. 动态查找表和静态查找表的重要区别在于前者包含有
和
运算,而
后者不包含这两种运算。
wenku.baidu.com
2.对 n 个记录的表中进行折半查找,最大比较次数是
。
3.顺序查找 n 个元素的顺序表,若查找成功,则比较关键字的次数最多为
次;当使用监视哨时,若查找失败,则比较关键字的次数为
。
4.已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用二分法查找
地址法构造哈希表,哈希函数为 H(KEY)=KEY MOD 13 ,哈希地址为 1 的链中有
个记录。
A、1 B、2 C、3
D、4
13、在采用线性探测法处理冲突所构成的闭散列表上进行查找,可能要探测多个位置,在查
找成功的情况下,所探测的这些位置上的健值
。
A、一定都是同义词
B、 一定都不是同义词
C、都相同
B、12
C、13
D、 14
21、一棵深度为 k 的平衡二叉树,其每个非终端结点的平衡因子均为 0,则该树共有
个结点。
A、2k-1-1
B、 2k-1 C、2k-1+1 D、2k-1
22、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是
。
A、 (100,80,90,60,120,110,130)
C、平方取中法以健值平方的中间几位作为散列地址。
D、基数转换法将健值看成另一种进制的数再转换成原来进制的数,然后选择其中几位作为
散列地址。
18、下面关于 B-树和 B+树的叙述中,不正确的是
。
A、B-树和 B+树都是平衡的多叉树
B、B-树和 B+树都可用于文件的索引结构
C、B-树和 B+树都能有效地支持顺序检索 D、B-树和 B+树都能有效地支持随机检索
10、如果完全二叉树从根结点开始按层次遍历的序列为 1,2,3,4,5,6,7,则该完全二
叉树是二叉排序树。
11、m 阶 B-树的任何一个结点的左右子树高度都相等。
12、设二叉排序树中关键字互不相同,则其中最小元必无左孩子,最大元必无右孩子。
13、对给定的关键字集合,以不同的次序插入初始为空的树中,将得到同一棵二叉排序树。
第 9 章 查找
一、单选题
1、静态查找表与动态查找表两者的根本差别在于
。
A、逻辑结构不同
B、 存储实现不同
C、施加的操作不同
D、 数据元素的类型不同
2、采用顺序查找方法查找长度为 n 的线性表时,每个元素的平均查找长度为
。
A、n
B、n/2 C、(n+1)/2 D、(n-1)/2
3、对线性表进行二分查找时,要求线性表必须
90 时,需
次查找成功,查找 47 时需
次成功,查找 100 时,需
次才能确定不成功。
5.在具有 24 个元素的有序表上进行二分查找,则比较一次查找成功的结点数为______,比 较二次查找成功的结点数为________,比较三次查找成功的结点数为_________,比较四次
查找成功的结点数为________,比较五次查找成功的结点数为__________。总的比较查找长
6
7.已知插入结点的序列为(17,31,13,11,20,35,25,8,4,11,24,40,27),请画 出该二叉排序树,并分别给出下列操作后的二叉排序树:
(1)插入数据 9; (2)删除数据 17; (3)再删除结点 13; 8.按下列次序输入关键字:(E,F,P,K,M,L,B),请画出 AVL 树的构造和调整过程。要求画出 每插入一个关键字后查找树的形状及调整后的结果,并标明调整类型。
8、有一个长度为 12 的有序表,按二分查找法对该表进行查找,在表内各元素等概率情
况下查找成功所需的平均比较次数为
。
A、35/12
B、37/12
C、39/12
D、43/12
9、当采用分块查找时,数据的组织方式为
。
A、数据分为若干块,每块内数据有序
B、数据分为若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)
法是
。
A、将该元素所在的存储单元清空。
B、将该元素用一个特殊的元素代替
C、将与该元素有相同 Hash 地址的后继元素顺次前移一个位置。
D、用与该元素有相同 Hash 地址的最后插入表中的元素替代。
17、以下说法错误的是
。
A、数字分析法对健值的各位进行分析,选择分布较均匀的若干位组成散列地址。
B、除余法选择一个适当的正整数 p,以 p 除健值以所得的余数作为散列地址。
D 、健值不一定有序的顺序表
14、设哈希表长为 14,哈希函数为 H(key)= key mod 11,表中已经有 4 个结点:addr(14)=3,
addr(38)=5, addr(61)=6, addr(85)=8,其余地址为空,用线性探测再散列法解决冲突,关键字为
49 的结点的地址为
。
A、7
B、3
度为__________。
6.使用分块查找时,除表本身外,尚需建立一个
,用来存放每一块中的最大值以
及该块的起始位置。
7.采用散列技术来实现查找,需要解决的问题有:
;
;
8.、在各种查找方法中,平均查找长度与结点个数无关的查找方法是
。
9.含有 12 个结点的平衡二叉树的最大深度是
。(设根结点深度为 1)
。
A、以顺序方式存储
B、以链式方式存储
C、以顺序方式存储,且结点按关键字有序排序
D、以链式方式存储,且结点按关键字有序排序
4、在表长为 n 的顺序表中进行顺序查找,在查找不成功时,与关键字比较的次数为
。
A、n
B、1
C、 n+1 D、n-1
5、对于有序表(2,5,7,11,22,45,49,62,71,77,90,93,120),折半查找值
B、924,220,911,244,898,258,362,363; C、925,202,911,240 ,912,245,363; D、2,399,387,219,266,382,381,278,363。
24、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点的左孩子的平衡因
子为 0,右孩子的平衡因子为 1,则应作
9.深度为 6 的平衡二叉树中最少应包含多少个结点,并画出这样一棵平衡二叉树。 10.从空树开始,依次输入结点 20,30,50,52,60,68,70,画出建立 3 阶 B-树的过程。 并画出删除结点 50 和 68 后的 B-树状态。
五、算法设计题 1.设顺序表中关键字是递增有序的,试写一顺序查找算法,将哨兵设在表的高下标端。然 后求出等概率情况下查找成功与失败时的 ASL。 2.试编写一个判别给定的二叉树是否为二叉排序树的算法。设此二叉树以二叉链表为存储结 构,且树中结点的关键字均不相同. 3. 试写一递归算法,从大到小输出二叉排序树中所有其值不小于 X 的关键字。 4.设二叉排序树的各元素均不相同,试分别采用递归和非递归算法按递.减.顺序打印所有左子 树为空,右子树非空的结点的数据域的值。 5. 试编写一个算法,删除二叉排序树中所有关键字不小于 x 的结点,并释放该结点空间。 6. 试编写一个算法,将两棵二叉排序树合并为一棵二叉排序树。 7.写出从哈希表中删除关键字为 k 的一个记录的算法;设哈希函数为 H,解决冲突的方法为链 地址法。
的数据组成索引块
C、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
D、数据分为若干块,每块(除最后一块外)中数据个数需相同
10.在排序过程中,键值比较的次数与初始序列的排列顺序无关的是()。
A、直接插入排序和快速排序 B、直接插入排序和归并排序
C、直接选择排序和归并排序 D、快速排序和归并排序和归并排
C、5
D、 4
15、设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},
当用二分查找法查找健值为 84 的结点时,经
次比较后查找成功。
A、2 B、 3
C、 4
D、 12
16、已知一采用开放地址法解决 Hash 表冲突,要从此 Hash 表中删除一个记录,正确的做
H i (H (key) di ) mod10(di 12 ,22 ,) ,试对该关键字序列构造哈希表,并计算查找
成功的平均查找长度。 5.输入一个正整数序列(17,31,13,11,20,35,25,8,4,11,24,40,27)画出该 二叉排序树。依此二叉排序树,如何得到一个递增序列? 6.一棵二叉排序树结构如下图所示,各结点的值分别为 1,2,3,...9,请在图中标出各结点的 值。
11、从键盘依次输入关键字的值:t,u,r,b,o,p,a,s,c,l。建立二叉排序树,则先序遍历序列为
。
A、 abcloprstu B、 alcpobsrut C、 trbaoclpsu D、 trubsaocpl
12、设有一组记录的关键字为{19,24,23,1,68,20,84,27,55,11,10,79},用链
10.如果将 n 个元素,按其关键字递增的顺序依次插入到二叉排序树中,则对这样的二叉排
序树检索时,平均比较次数为
。
11.在一个 127 阶的 B-树上,每个结点中包含的关键字数目最多允许为
个,除根
结点外的非终端至少有
棵子树。
12. 一棵深度为 k 的平衡二叉树,其每个非终端结点的平衡因子均为 0,则该树共有