设二叉排序树的高度为h_设二叉排序树的高度为h,总结点数为n

设二叉排序树的高度为h_设二叉排序树的高度为h,总结点数为n二叉搜索树的平均查找长度二叉搜索树的平均查找长度要怎么算?动力节点小编来告诉大家。假设有一颗二叉排序树, 总结点数是n, 高度是h, 根结点的高度是1,假设也是满二叉树, n与h的关系, 有公式: n = (2^h) – 1也就是: h =

二叉搜索树的平均查找长度   二叉搜索树的平均查找长度要怎么算?动力节点小编来告诉大家。   假设有一颗二叉排序树, 总结点数是n, 高度是h, 根结点的高度是1,   假设也是满二叉树, n与h的关系, 有公式: n = (2^h) – 1   也就是: h = log2(n+1)   对于高度为2,总结点数是3的二叉排序树(满二叉树),查找成功的平均查找长度为:   对于高度为3,总结点数是7的二叉排序树(满二叉树),查找成功的平均查找长度为:   对于高度为h,总结点数是n的二叉排序树(满二叉树),查找成功的平均查找长度为:   对于[等式1]里的1*1 + 2*2 + 3*4 + … + h*2^(h-1)   该数列有h项: 1*2^0, 2*2^1, 3*2^2, … , h*2^(h-1)   其总和:   等式两边同乘以2,有:   用[等式3]减去[等式2]有:   其中(2^0 + 2^1 + 2^2 + 2^3 + … + 2^(h-1))是等比数列求和,设:   等式两边同乘以2,有: 2*M = (2^1 + 2^2 + 2^3 + … + 2^h)   两个等式相减,有: M = 2^h – 1   将M代入[等式4]有:   因为 h = log2(n+1),将h代入[等式5],有:   也就是   将上述S代入[等式1],有:   所以,二叉排序树查找成功的平均查找长度为:   其时间复杂度是: O(log2(n))   假设有一颗平衡的二叉排序树,高度h=4,总结点数n=11,不是满二叉树:   根据[公式1],查找成功的平均查找长度为:   ASL = [(n+1)/n] * log2(n+1) – 1 = [(11+1)/11] * log2(11+1) – 1 约等于 2.91   逐个结点计数,平均查找长度为:   ASL = (1*1 + 2*2 + 3*4 + 4*4) / 11 = 33 / 11 = 3   假设有一颗平衡的二叉排序树,高度h=4,总结点数n=15,是满二叉树:   根据[公式1],查找成功的平均查找长度为:   ASL = [(n+1)/n] * log2(n+1) – 1 = [(15+1)/15] * log2(15+1) – 1 = 49/15   逐个结点计数,平均查找长度为:   ASL = (1*1 + 2*2 + 3*4 + 4*8) / 15 = 49/15   以上就是关于“二叉搜索树的平均查找长度”介绍,大家如果想了解更多相关知识,可以一下动力节点的Java在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助哦。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/89245.html

(0)
上一篇 2024年 6月 21日
下一篇 2024年 6月 21日

相关推荐

关注微信