数据结构与算法复习题10(C语言版)

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

习题9解答

判断题:

1.用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。答:FALSE (错。链表表示的有序表不能用折半查找法。)

2.有n个数据放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。

答:FALSE (错。因顺序查找既适合于有序表也适合于无序表;对这两种表,若对于每个元素的查找概率相等,则顺序查找的ASL相同,并且都是(n+1)/2;对于查找概率不同的情况,则按查找概率由大到小排序的无序表其ASL要比有序表的ASL小。)

3.折半查找是先确定待查有序表记录的范围,然后逐步缩小范围,直到找到或找不到该记录为止。( )

答:TRUE

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

答:TRUE

5.查找表是由同一类型的数据元素(或记录)构成的集合。

答:TRUE

单选题:

6.对于18个元素的有序表采用二分(折半)查找,则查找A[3]的比较序列的下标为( )。

A. 1、2、3

B. 9、5、2、3

C. 9、5、3

D.9、4、2、3

答:D (第一次⎣⎦2/)181(+ = 9,第二次⎣⎦2/)81(+ = 4,第三次⎣⎦2/)31(+ = 2, (第四次⎣⎦2/)33(+ = 3,故选D.

7. 顺序查找法适合于存储结构为____________的线性表。

A.散列存储

B.顺序存储或链式存储

C.压缩存储

D.索引存储

答:B

8.对线性表进行二分查找时,要求线性表必须( )。

A .以顺序方式存储 B. 以链接方式存储

C .以顺序方式存储,且结点按关键字有序排序

D. 以链接方式存储,且结点按关键字有序排序

答:C

9.设哈希表长m=14,哈希函数为H(k) = k MOD 11。表中已有4个记录(如下图所示),如果用二次探测再散列处理冲突,关键字为49的记录的存储地址是( )。 0 1 2 3 4 5 6 7 8 9 10 11 12 13

A .8 B. 3 C .5 D. 9

答:D (计算H(k),即H(49)=49 mod 11 = 5,冲突,进行二次探测再散列。而二次探测再散列的增量序列为:d i =12,-12,22,-22,32,…,土k 2,(k

≤m/2), 沿着增量序列选择不同的增量按照开放定址公式:

H i =( H(key)+d i ) MOD m i =1,2,…,k (k ≤m-1)

寻找新的地址(构造后继散列地址)。

计算H i=( H(49)+d i) MOD 14 =(5+d i) MOD 14, 可知当( 5+22) MOD 14 = 9 MOD 14 = 9时不再发生冲突,故选择D).

10.以下说法错误的是( )。

A.散列法存储的基本思想是由关键码值决定数据的存储地址

B. 散列表的结点中只包含数据元素自身的信息,不包含任何指针

C.装填因子是散列法的一个重要参数,它反映了散列表的装填程度

D. 散列表的查找效率主要取决于散列表造表时选取的散列函数和处理冲突的方法

答:B (散列表也可以用单链表存储,故选择B.)

11.以下说法正确的是( )。

A.数字分析法需事先知道所有可能出现的键值及所有键值的每一位上各数字分布情况,并且键值的位数比散列地址的位数多

B.除余法要求事先知道全部键值

C.平方取中法需要事先掌握键值的分布情况

D.随机数法适用于键值不相等的场合

答:A.

12.设有一个用线性探测法解决冲突得到的散列表如下图所示,散列函数为H(k)= k % 11,若要查找元素14,探测的次数是( )。

T:0 1 2 3 4 5 6 7 8 9 10

A.8 B. 9 C.3 D. 6

答:D

13.散列表的平均查找长度( )。

A.与处理冲突方法有关而与表的长度无关

B.与处理冲突方法无关而与表的长度有关

C.与处理冲突方法有关且与表的长度有关

D.与处理冲突方法无关且与表的长度无关

答:C

14.在采用线性探测法处理冲突所构成的闭散列表上进行查找,可能要探测多个位置,在查找成功的情况下,所探测的这些位置上的键值( )。

A.一定都是同义词 B. 一定都不是同义词

C.都相同 D. 不一定都是同义词

答:D

(例如,当H(k)=k mod 7且输入的关键字为3、4、10时所构造的散列表如下图所示:

0 1 2 3 4 5 6

当查找关键字成功时,所探测3、4、5位置上的键值:3和10是同义词而4不是同义词。)

15.在采用线性探测法处理冲突的闭散列表上,假定装填因子α的值为0.5,则查找任一元素的平均查找长度为( )。

A .1 B. 1.5 C. 2 D. 2.5

答:B (注:线性探测再散列的哈希表查找成功时的平均查找长度为

S nl ≈ 21(1 + a

-11) (9-27) 参见严蔚敏等《(c 语言版)数据结构》P.261公式9-27。 )

16.在采用链接法处理冲突的散列表上,假定装填因子α的值为4,则查找任一元素的平均查找长度为( )。

A .3 B. 3.5 C. 4 D. 2.5

答:A (链地址法处理冲突的哈希表查找成功时的平均查找长度为

S nc ≈ 1+2

a (9-29) 参见严蔚敏等《(c 语言版)数据结构》P.261公式9-29。)

填空题:

17.二分查找的存储结构仅限于 ,且是 。 答:顺序存储结构 有序的

18.* 在n 个记录的有序顺序表中进行折半查找,最大的比较次数是 。

答: ⎣⎦n 2log +1 (相当于走了一个完全二叉树根到树叶的长度,即⎣⎦n 2log +1;故填⎣⎦n 2log +1.)

19.构造哈希(Hash)函数的方法有 、 、 、

相关文档
最新文档