如何求折半查找的比较次数
有一个长度为12的有序表,按对半查找法对该表进行查找,在表内元素等概率情况下,查找成功所需的平均幽会数次数是多少?答案是:37/12.我想问一下,是怎么求出来的?谢谢了!...
有一个长度为12的有序表,按对半查找法对该表进行查找,在表内元素等概率情况下,查找成功所需的平均幽会数次数是多少?
答案是:37/12.
我想问一下,是怎么求出来的?谢谢了! 展开
答案是:37/12.
我想问一下,是怎么求出来的?谢谢了! 展开
5个回答
展开全部
解:
先把它写成完全二叉树的形式:每次都从根结点开始,查找一次成功的有1个结点,二次有2个,三次有4个,四次有5个。
所以平均幽会数次数=(1*1+2*2+3*4+4*5)/12=37/12。
扩展资料:
搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。
参考资料来源:百度百科-折半查找法
展开全部
解:
先把它写成完全二叉树的形式:每次都从根结点开始,查找一次成功的有1个结点,二次有2个,三次有4个,四次有5个。
所以平均幽会数次数=(1*1+2*2+3*4+4*5)/12=37/12。
先把它写成完全二叉树的形式:每次都从根结点开始,查找一次成功的有1个结点,二次有2个,三次有4个,四次有5个。
所以平均幽会数次数=(1*1+2*2+3*4+4*5)/12=37/12。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
画二叉判定树如下
............6
.......3.........9
.....1...4....7....11
.......2...5...8..9..12
从树的深度可以看出来
1、2、3、4次查找成功的结点分别是1、2、4、5个
ASL=(1*1+2*2+3*4+4*5)/12=37/12
............6
.......3.........9
.....1...4....7....11
.......2...5...8..9..12
从树的深度可以看出来
1、2、3、4次查找成功的结点分别是1、2、4、5个
ASL=(1*1+2*2+3*4+4*5)/12=37/12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LOG解!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询