社区
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)的下限。 不明白具体怎么写。。。
...全文
1213
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
数据结构与算法篇-
高度
平衡树
的定义与对数级
高度
推导
高度
平衡树
的定义和对数级
高度
推导
平衡树
---Treap
平衡树
—Treap 1. Treap原理 原理
平衡树
的种类:AVL、RBTree、Splay、Treap、sbt、… Treap=Tree(BST) + Heap 首先来看什么是BST:Binary Search Tree,即二分搜索树。其定义是递归定义,对于每
一个
点,其权值严格大于其左子树中所有节点的值,严格小于其右子树所有节点的的值。 BST有
一个
很重要的性质:其中序遍历的结果一定是从小到大的序列。 BST的本质:动态维护
一个
有序序列(集合)。 这里实现的BST,默认BST中
654. Maximum Binary Tree,一种严格O(N)的解法以及
证明
解析
654. Maximum Binary Tree 最大值二叉树重构。 Version 1 递归解法。每次以当前nums中最大值创建当前节点,递归重构左子树,右子树。 时间,最坏情况下,二叉树变为链表,算法复杂度O(N2)O(N^2)O(N2),通常情况下,二叉树比较均衡我们期待
高度
为
log
n,因而算法复杂度为O(N⋅
log
N)O(N\cdot
log
N)O(N⋅
log
N) 空间,维护nums和树,O(N)O(N)O(N) # version 1 # Runtime: 492 ms, faster tha
数据结构之AVL树
AVL树 定义 AVL树 AVL搜索树 带索引的AVL搜索树 AVL树的
高度
(O(
log
n)) AVL树的描述 AVL搜索树的搜索O(
log
n) AVL搜索树的插入O(
log
n) AVL搜索树的删除O(
log
n) AVL树 当确定搜索树的
高度
总是O(
log
n)时,能够保证每个搜索树操作所占用的时间为O(
log
n)。
高度
为O(
log
n)的树成为
平衡树
...
Tree-LSM
二分法 二分法很简单,很精妙!一半一半的舍弃,一倍一倍的填充。(O(
Log
N))->树???? 树????的类型 什么是普通的树? 无序、混沌、自然、简单、墒减! 什么是动态查找树? 动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。 其都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。 其查找的时间复杂度大体维持在O(
log
(N))数量级上。
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章