logo资料库

数据结构第八章作业.docx

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
三.(1) 二叉排序树 T T case for while class proted do private virtu const if publi int templace (2)删去关键字“for”之后的二叉排序树 T case class do while protecte const private virtual if public int templace
(3)再插入关键字“for”后的二叉排序树 T do case while class protected virtual const private publi if for int templac (4)T”的先序序列:do case const while protected private if for int virtural public template T’的中序序列:case class const do for if int private protected public templat virturale while T”的后序序列:class const for case int if private template public virtural protected while 4.(1)查找 707 时,首先根据哈希函数计算得出该元素应该在哈希表中的 0 单元,但是在 0 但愿没有找到,因此将向下一个单元探测,结果发现该单元是-1,所以结束查找,这将导致 707 无法找到。 (2)如果改用“-2“作为删除标记,则可以正确找到 707 所在结点。 四.(1)查找成功时 ASL=37/12,查找失败时的 ASL=62/13. (5)采用除留余数法构造哈希函数,即H(k)=kMOD11,且采用步长为1的线性 探测再哈希表法处理冲突,对应的地址如下: H(32)=32MOD11=10 H(63)=63MOD11=8 H(94)=94MOD11=6 H(36)=36MOD11=3(冲突) (仍然冲突) H(36)=(4+1)MOD11=5 H(70)=70MOD11=4(冲突) (仍然冲突) H(70)=(5+1)MOD11=6(仍然冲突) D11=7(仍然冲突) H(70)=(7+1)MOD11=8(仍然冲突) D11=9(仍然冲突) H(70)=(9+1)MOD11=10(仍然冲突) H(70)=(10+1)M OD11=0 H(48)=48MOD11=4 H(25)=25MOD11=3 H(36)=(3+1)MOD11=4 H(18)=18MOD11=7 H(70)=(4+1)MOD11=5 H(75)=75MOD11=9 H(70)=(6+1)MO H(70)=(8+1)MO
哈希表 地址 关键字 0 1 2 3 4 5 6 7 8 9 10 25 48 36 94 18 63 75 32 平均查找长度 ASL=(1*7+3*1+8*1)/9=18/9=2/1 (2)采用除留余数法构造哈希函数,即 H(k)=kMOD11,且采用步长为 3 的线性探测再哈 希法处理冲突,哈希表: H(32)=32MOD11=10 H(63)=63MOD11=8 H(94)=94MOD11=6 H(36)=36MOD11=3(冲突) (仍然冲突) H(36)=(6+3)MOD11=9(仍然冲突) 1=1 H(18)=18MOD11=7 H(70)=(4+3)MOD11=7(仍然冲突) 1=10(仍然冲突) H(70)=70MOD11=4(冲突) H(70)=(7+3)MOD1 H(70)=(10+3)MOD11=2 H(75)=75MOD11=9 H(48)=48MOD11=4 H(25)=25MOD11=3 H(36)=(3+3)MOD11=6 H(36)=(6+3)MOD1 哈希表 0 地址 关键字 1 36 2 70 3 25 4 48 5 6 94 7 18 8 63 9 75 10 32 平均查找长度 ASL=(1*7+4*2)/9=15/9=5/3
分享到:
收藏