二叉排序树的平均查找长度(为什么采用二叉排序树查找的平均查找长度为O(log_{2}n))
本文目录
- 为什么采用二叉排序树查找的平均查找长度为O(log_{2}n)
- 二叉排序树的不成功的平均查找长度怎么求
- 假定一个线性表为(38,52,25,74,68,16,30,54,90)成的一颗二叉排序树,求出他的平均查找长度
- 为什么高度为2,总结点数是3的二叉排序树,查找成功的平均查找长度为: ASL = (1*1 + 2*2) / 3
为什么采用二叉排序树查找的平均查找长度为O(log_{2}n)
O(log2(n))是时间复杂度,而二叉排序树查找成功的平均查找长度为: ASL = * log2(15+1) - 1 = 49/15逐个结点计数,平均查找长度为:ASL = (1*1 + 2*2 + 3*4 + 4*8) / 15 = 49/15
二叉排序树的不成功的平均查找长度怎么求
查找不成功就是从查找位置开始直到一个位置为空需要比较的次数。
比如:
62
/ \
30 74
/ \
15 56
/
48
找到所有的外结点,也就是查找失败的点,然后计算ASL
就你的BST,结果如下:
15的左右子树都为空,也就是左右子树都是外结点,失败时需要比较62、30、15一共3次
48的左右子树都为空,也就是左右子树都是外结点,失败时需要比较62、30、15、48一共4次
56的右子树为空,也就是右子树是外结点,失败时需要比较62、30、56一共3次
74的左右子树都为空,也就是左右子树都是外结点,失败时需要比较62、74一共2次
因此外结点总数为2 *3 + 1 = 7 (其实这个数量一定是关键字个数加1)
所以ASL = (2 * 3 + 2 * 4 + 1 * 3 + 2 * 2) / 7 = 21 / 7 = 3。
扩展资料:
查找步骤:
二叉树
若根结点的关键字值等于查找的关键字,成功。否则,若小于根结点的关键字值,递归查左子树。若大于根结点的关键字值,递归查右子树。若子树为空,查找不成功。
平均情况分析(在成功查找两种的情况下):
在一般情况下,设 P(n,i)为它的左子树的结点个数为 i 时的平均查找长度。如图的结点个数为 n = 6 且 i = 3; 则 P(n,i)= P(6, 3) = / 6
注意:这里 P(3)、P(2) 是具有 3 个结点、2 个结点的二叉分类树的平均查找长度。 在一般情况,P(i)为具有 i 个结点二叉分类树的平均查找长度。平均查找长度= 每个结点的深度的总和 / 总结点数
参考资料来源:百度百科-二叉排序树
假定一个线性表为(38,52,25,74,68,16,30,54,90)成的一颗二叉排序树,求出他的平均查找长度
根据处理要求的不同,二叉排序树为:
35
27 53
16 31 74
74
或
35
27 53
16 31 74
74
例如:
首先,各个数的散列值是(3, 4, 4, 3, 0).
如果用线性探测法,散列表为
0 : 48
3 : 38
4 : 25
5 : 74
6 : 52
查找各数需要的长度依次为(0, 0, 2, 3, 0),所以平均是1。
如果用链接法,散列表为
0 : 48
3 : 38 -》 52
4 : 25 -》 74
查找各数需要的长度依次为(0, 0, 1, 1, 0),平均是0.4。
扩展资料:
为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值称为查找算法在查找成功时的平均查找长度(),ASL成功。
对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL=∑PiCi (i=1,2,3,…,n),可以简单以数学上的期望来这么理解。其中:Pi 为查找表中第i个数据元素的概率,Ci为找到第i个数据元素时已经比较过的次数。
在查找表中查找不到待查元素,但是找到待查元素应该在表中存在的位置的平均查找次数称为查找不成功时的平均查找长度,不成功。
参考资料来源:百度百科-平均查找长度
为什么高度为2,总结点数是3的二叉排序树,查找成功的平均查找长度为: ASL = (1*1 + 2*2) / 3
1) 二叉排序树,高度为2,总结点数n是3,如下: 36 / \ 24 52要成功查找结点36,需要比较一次,就是与36作比较,所以其查找长度是1要成功查找结点24,需要比较两次,分别与36和24作比较,所以其查找长度是2要成功查找结点52,需要比较两次,分别与36和52作比较,所以其查找长度是2该二叉排序树查找成功的总长度是 1*1+2*2因为总结点数是3,所以,查找成功的平均查找长度为: ASL = (1*1 + 2*2) / 3 = 5/3也可以用公式: ASL = * log2(15+1) - 1 = 49/15
更多文章:

stretchy(stretchy woven fabric是什么意思)
2025年3月28日 01:10

senior manager(Director和senior manager哪个级别高)
2025年3月8日 22:00

letterspacing(letter-spacing和word-spacing之间的区别)
2025年3月27日 05:50

html中label是什么意思啊(<label></label>标记是什么意思)
2025年2月28日 08:10

layers of fear 2(steam恐怖游戏排行榜是怎么样的)
2025年3月25日 15:40

centos7安装mysql教程(Centos7下如何使用Yum安装MySql)
2025年2月21日 11:40

spring festival(spring festival资料)
2025年3月6日 05:40

potentiometer(potentiometer是什么意思)
2025年3月4日 06:40

interviewer的意思(英语interviewer是什么意思)
2025年3月8日 18:50

教学软件的编制要求有哪些?有哪些软件可以在教学时,边讲边在屏幕上书写呢
2025年2月11日 09:30