折半查找-平均查找长度

序列{1,2,3,4,5,6,7,8,9,10}采用折半查找,画出折半查找树并求查找成功和查找不成功的平均查找长度。

 1.首先拿到有序表

2.根据有序表进行画树

步骤1.先取中间结点作为树的根,通过计算mid = (i + j)/ 2 = 6(向下取整)i = 1,  j = 12

步骤2.然后左边剩余的1-5当中继续重复步骤一得到6的左儿子3,紧接着从右边剩余的7-12当中得到数字9作为6的右儿子

步骤3.重复上述操作,得到一个完整的树

3.紧接着将结点补齐

用方框补齐,代表查找失败,叶子结点也需要进行处理

4.写出层数

 查找的次数=每一层的层数 x 每一层的结点个数,上图即是1x1 + 2x2 + 3x4 + 4x5 =  37,则查找成功的平均查找长度为37/12,注意:当计算查找失败的平均长度时,层数需要依次减1,即原先第四层变为第三层,然后进行查找失败的次数的计算,即是3x3 + 4x10 = 49(以上算式中“x”前面的为层数,后面为该层的结点数),则对应的查找失败的平均查找长度为49/13

综上答案为A,D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值