文档库

最新最全的文档下载
当前位置:文档库 > 第9章 查找习题

第9章 查找习题

第九章查找习题

一、判断题

1.折半查找法可以用于按值有序的线性链表的查找。

2.对两棵具有相同关键字集合而形状不同的二叉排序树,按中序遍历它们得到的序列的顺序是一样的。

3.任一二叉排序树的平均查找时间都小于用顺序查找法查找同样结点的线性表的平均查找时间。

4.中序遍历二叉排序树的结点就可以得到排好序的结点序列。

5. 哈希表存储的基本思想是由关键码的值决定数据的存储地址。

6.哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法。

7.装载因子是散列法的一个重要参数,它反映散列表的装满程度。

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

二、选择题

1.采用顺序查找方法查找长度为n的线性表,平均查找长度为

A.n

B.n/2

C.(n+1)/2

D.(n-1)/2

2.对线性表采用折半查找法,该线性表必须

A.采用顺序存储结构

B.采用链式存储结构

C.采用顺序存储结构,且元素按值有序

D.采用链式存储结构,且元素按值有序

3.在按值有序的线性表(5,8,11,12,15,20,32,41,57)中采用折半查找法查找20需要进行多少次元素间的比较

A.3

B.4

C.5

D.6

4.按逐点插入法建立对应于序列(54,28,16,34,73,62,95,60,26,43)的二叉排序树后,查找62要进行多少次比较。

A.2次

B.3次

C.5次

D.6次

5.散列法存储的基本思想是根据哪个来决定存储地址。

A.散列表空间

B.元素的序号

C.装载因子

D.关键码值

6.散列法存储的冲突指的是

A.两个元素具有相同的序号

B.两个元素的关键码值不同,而非码属性相同

C.不同关键码值对应相同的存储地址

D. 装载因子过大

7.哈希地址空间为m,k为关键字,散列地址H(k)=k MOD p。为了减少发生冲突的频率,一般取p为

A.小于m的最大奇数

B.小于m的最大合数

C.小于m的最大素数

D.大于m的最小素数

8.在10阶B-树中根结点所包含的关键码

...个数最多为_______,最少为________。

A. 1

B. 2

C. 9

D. 10

9.已知一个有序表为(12、18、24、35、47、50、62、83、90、115、134),当折半查找值为90的元素时,次比较后查找成功;当折半查找值为47的元素时,次比较后查找成功。

A. 1

B. 2

C. 3

D. 4

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

A. 最大概率

B. 最小概率

C. 平均概率

D. 同等概率

11.采用线性探测法解决冲突时所产生的一系列后继散列地址()

A.必须大于等于原散列地址 B . 必须小于等于原散列地址

C.可以大于或小于但不等于原散列地址 D. 对地址在何处没有限制

12.采用链地址法解决冲突时,每一个散列地址所链接的同义词子表各个表项的()相同。

A.关键字值B.元素值C.散列地址D.含义

13.对长度为n 的有序单链表,若查找每个元素的概率相等,则顺序查找表中任一元素的查找成功的平均查找长度为()。

A.n/2 B.(n+1)/2 C.(n-1)/2 D.n/4

三、填空题

1.对线性表采用折半查找方法,该线性表必须采用______存储结构,并且_______。

2.具有n个结点的判定树的深度h=_______。

3.一个待散列存储的线性表为K=(18,25,63,50,42,32,9),散列函数为H(k)=k MOD 9,则与线性表中元素18冲突的元素有_______个。

4.假定在有序表A[1..20]上进行折半查找,则比较一次查找成功的结点数为,比较两次查找成功的结点数为,比较三次查找成功的结点数为,比较四次查找成功结点数为,比较五次查找成功的结点数为,平均查找长度为。

5.在散列存储中,装填因子α的值越大,存取元素时发生冲突的可能性就,当α的值越小,存取元素时发生冲突的可能性就。

6. 给定线性表(18,25,63,50,42,32,90),用散列方式存储,若选用h(K)=K % 9作为散列函数,则元素18的同义词元素共有个,元素25的同义词元素共有个,元素50的同义词元素共有个。

四、问答题

1.设有一个有序文件,其中各记录的关键字为{1,2,3,4,5,6,7,8,9,10,11,12,13,14, 15},当用折半查找算法查找关键字为3,8,19时,其比较次数分别为多少?

2.假定一个待哈希存储的线性表为{32,75,63,48,94,25,36,18,70},哈希地址空间为[0…10],若采用哈希函数H(k)=k MOD 11和线性探测法处理冲突,试给出对应的哈希表,并求出在等概率情况下查找成功时的平均查找长度。

3.设有一个关键码的输入序列{ 55, 31, 11, 37, 46, 73, 63, 02, 07 },

(1) 从空树开始构造平衡二叉搜索树, 画出每加入一个新结点时二叉树的形态。若发生不平衡, 指明需做的平衡旋转的类型及平衡旋转的结果。

(2) 计算该平衡二叉搜索树在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索长度。4.设散列表为HT[13], 散列函数为H (key) = key %13。用闭散列法(开放定址法)解决冲突, 对下列关键码序列12, 23, 45, 57, 20, 03, 78, 31, 15, 36 造表。采用线性探查法寻找下一个空位, 画出相应的散列表, 并计算等概率下搜索成功的平均搜索长度。

【解答】

使用散列函数H(key) = key mod 13,有

H(12) = 12, H(23) = 10, H(45) = 6, H(57) = 5,

H(20) = 7, H(03) = 3, H(78) = 0, H(31) = 5,

H(15) = 2, H(36) = 10.

(1) 利用线性探查法造表:

第9章 查找习题

(1) (1) (1) (1) (1) (1) (4) (1) (2) (1) 搜索成功的平均搜索长度为

ASL succ = 1

10(1 + 1 + 1 + 1 + 1 + 1 + 4 + 1 + 2 + 1) = 14

10

第九章 查找 习题(参考答案)

一、判断题

1、否

2、是

3、是

4、是

5、是

6、否

7、是

8、是

二、选择题

1、C

2、C

3、A

4、B

5、D

6、C

7、D

三、填空题

1、顺序 数据有序

2、??1log 2+n

3、2

四、问答题

1. 查找关键字为3时,其比较次数为4

查找关键字为8时,其比较次数为1

查找关键字为19时,其比较次数为4

第9章 查找习题

ASL=2

3. 【解答】

(1) 构造平衡二叉搜索树的过程

第9章 查找习题

第9章 查找习题

第9章 查找习题

第9章 查找习题

(2) 计算在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索长度。 ASL succ = (1/9)*(1+2*2+3*4+4*2)=25/9

ASL unsucc = (1/10)*(3*6+4*4)=17/5

右旋 左右旋