怎么证明一个有n个结点的平衡树它的高度是O(logn)?

vhdl_learner 2010-11-05 01:26:36
怎么证明一个有n个结点的平衡树它的高度是O(logn)?

提示说让T(h)代表它可能有的最少结点数(h为高度),先用T(h-1)和T(h-2)表示T(h),然后用T(h-2)表示T(h)的下限,最终用h 表示T(h)的下限。 不明白具体怎么写。。。
...全文
1192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vhdl_learner 2010-11-05
  • 打赏
  • 举报
回复
谢谢大家的回复。。我基本上懂了。
dingshaofengbinbin 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n
[/Quote]
正解
FancyMouse 2010-11-05
  • 打赏
  • 举报
回复
要看平衡怎么定义的。高度平衡的平衡树的话就是上面的。有其他的平衡规则的话那得按照它们的规则去分析。
baihacker 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vhdl_learner 的回复:]
引用 4 楼 baihacker 的回复:
引用 3 楼 vhdl_learner 的回复:
引用 1 楼 baihacker 的回复:
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n


为什么 高度为h的最少是f(h-1)+f(h-2)+……
[/Quote]

左子树和右子树
vhdl_learner 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 baihacker 的回复:]
引用 3 楼 vhdl_learner 的回复:
引用 1 楼 baihacker 的回复:
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n


为什么 高度为h的最少是f(h-1)+f(h-2)+1个 ???

了因为左右子树的高度差是1……
[/Quote]

f(h-1)的结点数不是已经包括f(h-2)的结点数了吗?为啥要重复加??
baihacker 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 vhdl_learner 的回复:]
引用 1 楼 baihacker 的回复:
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n


为什么 高度为h的最少是f(h-1)+f(h-2)+1个 ???
[/Quote]
了因为左右子树的高度差是1撒。
vhdl_learner 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n
[/Quote]

为什么 高度为h的最少是f(h-1)+f(h-2)+1个 ???
如影随从 2010-11-05
  • 打赏
  • 举报
回复
这些和看时间复杂度是一样的,主要看的是系数,h-1和h-2的未知数的系数都是h,随意就写h
baihacker 2010-11-05
  • 打赏
  • 举报
回复
高度为0的最少1个结点。
高度为1的的最少是2个结点。
而高度为h的最少是f(h-1)+f(h-2)+1个。
通过差分方程可以解得f的表达式是关于高度的指数,所以n个结点的就是log n

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧