社区
C语言
帖子详情
怎么证明一个有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
打赏
收藏
怎么证明一个有n个结点的平衡树它的高度是O(logn)?
怎么证明一个有n个结点的平衡树它的高度是O(logn)? 提示说让T(h)代表它可能有的最少结点数(h为高度),先用T(h-1)和T(h-2)表示T(h),然后用T(h-2)表示T(h)的下限,最终用h 表示T(h)的下限。 不明白具体怎么写。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
数据结构与算法篇-
高度
平衡树
的定义与对数级
高度
推导
本文通过分析
高度
平衡树
的定义及其最小节点数的递推关系,
证明
了其
高度
为O(
log
n)。利用类似斐波那契数列的增长规律,揭示了平衡条件如何强制树结构保持紧凑,从而保障查找、插入等操作的高效性。
平衡树
---Treap
Treap是一种结合了二分搜索树(BST)和堆的
平衡树
数据结构,适用于高效地执行插入、删除等操作。它通过随机化的堆属性保持树的平衡,保证了操作的平均时间复杂度为O(
log
n)。本文介绍了Treap的基本原理、操作方法,并给出了在AcWing平台上的两个应用实例,包括普通
平衡树
和营业额统计问题的解决方案。
654. Maximum Binary Tree,一种严格O(N)的解法以及
证明
解析
本文介绍了三种重构最大值二叉树的方法,包括递归解法、严格的N⋅
log
N解法及高效的O(N)算法,并对每种方法的时间与空间复杂度进行了详细分析。
数据结构之AVL树
本文详细介绍了AVL树的概念、性质及实现方式。AVL树是一种平衡二叉搜索树,能够确保树的
高度
始终为O(
log
n),从而使得搜索、插入和删除操作的时间复杂度均为O(
log
n)。文中还探讨了AVL树的不平衡情况及其矫正方法。
Tree-LSM
这篇博客介绍了二分法和各种树型数据结构,如二叉查找树、AVL树、红黑树、SBT、Treap等。讨论了
平衡树
的重要性以及它们如何保持O(
log
N)的查找复杂度。同时,文章深入探讨了LSM(
Log
-Structured Merge Tree)的原理,解释了为什么需要LSM以实现顺序写入,并概述了WAL(Write-Ahead
Log
ging)机制。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章