数据结构复习题集(下).ppt
《数据结构复习题集(下).ppt》由会员分享,可在线阅读,更多相关《数据结构复习题集(下).ppt(23页珍藏版)》请在优知文库上搜索。
1、数据结构复习题集(下)第十一次作业-查找9.6假定值A到H存储在一个自组织线性表中,开始按照升序存放,对于9.2小节建议的三种自组织启发式规则,按照下面顺序访问线性表,给出结果线性表和需要的比较总数:自组织线性表根据实际的记录访问模式在线性表中修改记录顺利。使用自启发规则决定如何重新排列线性表。1若在线性表中采用折半查找法查找元素,该线性表应该(C)。A)元素按值有序B)采用顺序存储结构C)元素按值有序,且采用顺序存储结构D)元素按值有序,且采用链式存储结构2在下列查找方法中,平均查找速度是快的是(B)。A)顺序查找B)折半查找C)分块查找D)二叉排序树查找3在关键字随机分布的情况下,用二叉排
2、序树的方法进行查找,其查找长度与(B )量级相当。A)顺序查找B)折半查找C)分块查找D)前面都不正确 元素 A B C D E F G H查找次数DD 1ABCEFGH 4HD 1H 1ABCEFG 8HD 1H 2ABCEFG 2GH 2D 1G 1ABCEF 7HH 3D 1G 1ABCEF 1EH 3D 1G 1E 1ABCF 7GH 3G 2D 1E 1ABCF 3HH 4G 2D 1E 1ABCF 1GH 4G 3D 1E 1ABCF 2HH 5G 3D 1E 1ABCF 1EH 5G 3E 2D 1ABCF 4CH 5G 3E 2D 1C 1ABF 7EH 5G 3E 3D 1C
3、 1ABF 3HH 6G 3E 3D 1C 1ABF 1GH 6G 4E 3D 1C 1ABF 2ResultResultH HG GE ED DC CA AB BF F 53 531.保持一个线性表按照访问频率排序的最显然的方式是为每条记录保存一个访问计数。一直按照这个顺序维护记录,称为计数方法(Count)元素 A B C D E F G H查找次数DD ABCEFGH 4HH D ABCEFG 8HH D ABCEFG 1GG H D ABCEF 8HH GD ABCEF 2EEH GD ABCF 7GG E HD ABCF 3HH G E D ABCF 3GG H E D ABCF 2
4、HH G E D ABCF 2EE H G D ABCF 3CCE H G D ABF 7EE CH G D ABF 2HH ECG D ABF 3GGH ECD ABF 4ResultResultG GH H E EC CD D A AB BF F 59 592.如果找到一个记录就将其放在线性表的最前面,而把后面的记录后退一个位置。查找元素 A B C D E F G H查找次数DABDCEFGH 4HABDCEFHG 8HABDCEHFG 7GABDCEHGF 8HABDCHEGF 6EABDCEHGF 6GABDCEGHF 7HABDCEHGF 7GABDCEGHF 7HABDCEHGF
5、 7EABDECHGF 5CABDCEHGF 5EABDECHGF 5HABDEHCGF 6GABDEHGCF 7ResultResultA AB BD DE EH HG GC CF F 95 953.把找到的记录与它在线性表中的前一条记录交换位置,称为转置(transpose)9.13假定把关键码K散列到有n个槽(从0到n-1编号)的散列表中。对于下面的每一个函数h(K),这个函数作为散列函数可以接受吗?(即对于插入和检索,散列程序能否正常工作)?如果可以的话,它是一个好的散列函数吗?函数Random(n)返回一个0到n-1之间的随机整数(包括这两个数在内)。(a) h(k)=k/n,其中k
6、和n都是整数;(b) h(k)=1;(c) h(k)=(k+Random(n) mod n;(d) h(k)=k mod n,其中n是一个素数;答案:(a) 不可以。若k大于n平方,那么k/n的值就会超出n,超出范围。(b)可以。但是所有的数据都散列到相同的槽位中(c)不可以。因为采用随机数,那么插进去之后,检索不到,因为不知道此元素是使用了什么数据进行插入的(d)可以9.16 使用闭散列,利用双散列的方法解决冲突,把下面的关键码插入到一个有13个槽的散列表中(槽从0到12编号)。使用的散列函数H1和H2在下面定义。给出插入8个关键码值后的散列表。一定要说明如何使用H1和H2进行散列。函数Re
7、w(k)颠倒10进制数k各个位的数字,例如Rew(37)=73,Rew(7)=7。H1(k) = k mod 13.H2(k) = (Rew(k+1) mod 11). 答案:双散列:di=i*Hash2(key),当通过第一个散列函数得到的地址发生冲突之后,则利用第二个散列函数计算该关键字的地址增量,在双散列中,最多经过m次探测就会遍历表中所有的位置,会到H0的位置。H1:2,8,5,7,6,5,1,1H2:3,9,1,1,2,3,1,5插入过程:2-2 成功8-8 成功31-5 成功20-7 成功19-6 成功18-5 冲突;使用H1()+H2()=5+3=8 冲突 使用H1+H2+H2=
8、5+3+3=11 成功53-1 成功27-1 冲突;使用H1()+H2()=1+5=6 冲突, 使用H1+H2()+H2()=1+5+5=11 冲突 使用H1()+H2()+H2()+H2()=(1+5+5+5)%13=3 成功 1已知关键字序列23,13,5,28,14,25,试构造二叉排序树。2.已知一组关键字为(19,14,23,1,68,20,84,27,55,11,10,79),哈希函数:H(key)=key MOD 13,哈希地址空间为012,请构造用链地址法处理冲突的哈希表,并求平均查找长度。0123456782135(2)100378(4)99(5)2045(7)3.已知哈希表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题