折半查找:查找成功的最少/多次数、平均次数,查找不成功的最少/多次数、平均次数...

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最方面的方法是建立一个判定树。

现在有11个数:(第1行是索引,第2行是数)

0
1
2
3
4
5
6
7
8
9
10
7
10
13
16
19  
29
32
33
37
41
43


判定树:

折半查找:查找成功的最少/多次数、平均次数,查找不成功的最少/多次数、平均次数..._第1张图片


圆形节点表示查找成功的节点,方形的是查找不成功的节点。

判定树展示了二叉查找的过程。

有:

查找成功的最少次数:1
查找成功的最多次数:4

查找成功的平均次数:(1*1+2*2+3*4+4*4) / (1+2+4+4) = 3

查找不成功的最少次数:3
查找不成功的最多次数:4
查找不成功的平均次数:(3*4+4*8)/(4+8) = 11/3

转载于:https://my.oschina.net/letiantian/blog/390624

你可能感兴趣的:(折半查找:查找成功的最少/多次数、平均次数,查找不成功的最少/多次数、平均次数...)