首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >avl树中最小节点数的证明

avl树中最小节点数的证明
EN

Stack Overflow用户
提问于 2015-02-11 14:48:57
回答 1查看 1.7K关注 0票数 0

如何证明高度为h的avl树中最小节点数为(5+2*5^(1/2))*((((1+5^(1/2))/2)^h) + (5-2*5^(1/2))*((((1-5^(1/2))/2)^h)-1

EN

回答 1

Stack Overflow用户

发布于 2015-02-11 15:29:37

假设高度h处的根节点有两个子树。这两个子树中的一个高度必须是h-1。AVL树的结构迫使另一个子树的高度至少为h-2。因此,一个子树具有最小的可能节点数,另一个子树具有最大的可能节点数。得到如下递推规则: n(0) = 1,n(1) = 2,n( h ) = n(h-1)+n(h-2)+1,其中n(h)是高度为h的最小节点数。

这种重复非常接近Fibonacci序列。通过计算Fibonacci序列的精确公式,得到F(n) = (φ^n - hat(φ) ^n)/2(5),其中φ= (1+sqrt(5))/2,hat(φ)= (1-sqrt(5))/2。

这应该会给出一些如何进行的想法。我认为在这里做一些数学运算会让你找到答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28457235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档