2021年最好懂的红黑树

作者: hw-dong分类: 校园学习 发布时间: 2021-03-13 22:09:15 浏览:165233 次

2021年最好懂的红黑树

程序员张磊:
线性查找 —性能低—>二分查找— 二查叉树会出现退化成链表的问题—>出现AVL平衡二叉树—数据变化有频繁更新节点问题—>出现红黑树

hw-dong:
伪代码: if T is empty: X.color = black; T= X; return; X.Color = red; While(X.parent.color==red): if X.uncle.color==red: X.parent.color=X.uncle.color = black if X. parent. parent is not root: X. parent. parent.color=red; X = X.parent. Parent; else: break else: rotate and recolor;

Mr-Doraemon:
准备实习应聘,看完了老师的红黑树,比自己看文本资料节省了很多时间。老师的内容其实讲的挺细致的。提一个小建议,其实我觉得口音不是问题,但是在ppt上讲的我有时不知道老师指的是哪里。虽然有时候老师会在讲的地方画一下,但因为笔比较细,或者画的比较短,不能及时反应过来。最后感谢。

麦克老师讲算法:
你怎么可以在YouTube上开视频,为什么我进不去![微笑]

流小术:
u1s1红黑树部分讲的不太行,讲关于高度引理那块太混乱了,黑高的定义一直含混不清,就是包不包括nil叶子,和黑节点包不包括自己这两个问题半天没讲明白。后面讲插入也是,到底几种情况半天都没讲清

onlytimeconvert:
性质1:红黑树是满二叉树(空树叶也看作结点) 性质2:k阶红黑树,从根到叶的简单路径长度,介于【k,2k】,或者说树高介于【k+1,2k+1】之间 性质3:k阶红黑树内部结点数最少时是一棵完全满二叉树,即内部结点数最少是2k-1 用这三条性质可以证明n个内部结点(即不为空的节点)红黑树最大高度:2*log2 (n+1)+1 证明:设红黑树的阶为k,高为h 由性质2得h <= 2k+1 则 k >= (h-1) / 2 由性质3得n >= 2^k – 1 即 n >= 2^ (h-1)/2 – 1 可得出 h <= 2 log2 (n+1)+1

刻舟行远:
总体好评,但观感并不完美,一是口音问题,听得比较累,二是备课不够用心,讲下来不是很流畅,结果就是up明明自己懂但观众反馈不是很好,如果能改进会好很多,总之还是感谢[支持]

撒旦cost:
老师的普通话我一句也听不懂。。。。

心中日月大又圆:
证明复杂度那块,弹幕好像吐槽的比较多,贴一个个人理解 欲证明:任意节点x,至少有2^bh(x)-1; 第一步:这个命题对单独的一个节点显然是成立的。 第二步:假设对于某节点的两个子节点,结论成立,则每个子节点至少有2^bh(child)-1个内节点; 第三步:就是要证明对于这两个子节点的父节点,结论仍然成立。如何证明呢? 若子节点是红的,则bh(child) = bh(x); 若子节点是黑的,则bh(child) = bh(x) -1 (注意bh(x)的计算不包括x点的) 则bh(child) > bh(x) -1是肯定满足的,所以每个子节点至少有2^(bh(x)-1)-1个内节点 而父节点的内节点就等于两个子节点的内节点之和再加1,即 x>2*【2^(bh(x)-1)-1】+1 化简为 x>2^bh(x)-1 这样就基于子节点满足结论的假设,推出了父节点同样满足结论,这样父节点的父节点显然也同样满足,一直由下向上递归到根节点,结论显然也是满足的。 这里的二三步就是类似于数学归纳法中的,假设n=m成立,来推导n=m+1时也成立。 个人理解,欢迎交流指正。

red black tree 数据结构 红黑树 数据结构与算法 data structure

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!