第7章自测练习题参考答案.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章自测练习题参考答案

第7章自测练习题参考答案 1.有一个有序文件,其中各记录的关键字为: {3,4,5,6,7,8,10,17,19,20,27,32,43,54,65,76,87}, 当用折半查找算法查找关键字为4,20,65时,其比较次数分别为多少? 解: 该有序文件长度为17,根据折半查找算法画出判定树如下图所示。从图中可得出:当关键字为4,20,65时,其比较次数分别为3,4,3。 2.若对大小均为n的有序顺序表和无序顺序表分别进行顺序查找,试就下列三种情况分别讨论两者在等查找概率时的平均查找长度是否相同? (1)查找失败; (2)查找成功; (3)查找成功,表中有多个关键字等于给定值的记录,一次查找要求找出所有记录。 解: (1)平均查找长度不相同。有序顺序表小于等于无序顺序表。 (2)平均查找长度相同。 (3) 平均查找长度不相同,有序顺序表小于等于无序顺序表。 3.试按下列次序将各关键字插入到二叉平衡树中,画出重新平衡的情况。关键字依次为:8、9、12、2、1、5、3、6、7、11 解: 生成并调整成平衡二叉排序树的过程如下图(a)~(j)所示。 4.已知长度为12的表: (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)。 (1) 试按表中元素的顺序,依次插入一棵初始为空的二叉树;试画出插入完成之后的二叉排序树,并求其在等查找概率情况下查找成功的平均查找长度。 (2)若对表中元素先进行排序构成有序表,试求在等查找概率情况下对此有序表进行二分查找时查找成功的平均查找长度。 解:(1) 二叉排序树如下图所示。 平均查找长度SAL=(1*1+2*2+3*3+3*4+2*5+1*6)/12=42/12=3.5 (2) 对有序表(Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep)进行二分查找时, 其判定树如下图所示,所以平均查找长度SAL=(1*1+2*2+4*3+5*4)/12=37/12≈3.08 5.在题图7-1所示的3阶B-树中,删除关键字37,试画出删除过程。 解: 6.已知一个线性表(38,25,74,63,52,48),采用的散列函数为H(Key)=Key mod 7,将元素散列到表长为7的哈希表中存储。若采用线性探测的开放定址法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为多少?若利用链地址法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为多少? 解: (1)用线性探测的开放定址法解决冲突的哈希表: H(38)=38%7=3 比较1次 H(25)=25%7=4 比较1次 H(74)=74%7=4(冲突) H1(74)= (H(74)+1)%7=(4+1) %7=5(成功) 比较2次 H(63)=63%7=0 比较1次 H(52)=52%7=3(冲突) H1(52)= (H(52)+1)%7=(3+1) %7=4(冲突) H2(52)= (H(52)+2)%7=(3+2) %7=5(冲突) H3(52)= (H(52)+3)%7=(3+3) %7=6(成功) 比较4次 H(48)=48%7=6(冲突) H1(48)= (H(48)+1)%7=(6+1) %7=0(冲突) H1(48)= (H(48)+2)%7=(6+2) %7=1(成功) 比较3次 地址 0 1 2 3 4 5 6 7 关键字 63 48 38 25 74 52 比较次数 1 3 1 1 2 4 (2) 平均查找长度 ASL=(3*1+1*2+1*3+1*4)/6= 12/6=2 (3)用链地址法解决冲突的哈希表: H(38)=38%7=3 比较1次 H(25)=25%7=4 比较1次 H(74)=74%7=4(冲突) 比较2次 H(63)=63%7=0 比较1次 H(52)=52%7=3(冲突) 比较2次 H(48)=48%7=6 比较1次 (4) 平均查找长度 ASL=(4*1+2*2)/6= 8/6=4/3 7.设有关键字序列{22,41,53,46,30,13,01,67},选取哈希函数H(k)=3k%11,试用下列两种处理冲突的方法分别在0~10的散列地址空间中构造哈希表。 (1)线性探测法; (2)线性补偿探测法(取Q=5)。 解:(1)线性探测

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档