红黑树高度上限2log2(N+1)简洁证明【通俗易懂且正确!】

首先阅读这篇文章 https://fanlv.fun/2018/08/12/binary-tree/
跳着阅读,明白三点就够了!
明白
1.什么是满二叉树?
2.什么是2-3树,
3.红黑树如何转换成2-3树。

如果你弄明白上上面3点,可知:

  1. 我们可以得知满二叉树节点n和高度h的关系
    n = 2 h − 1 n = 2^h-1 n=2h1

  2. 根据2-3树的构造规则,可知2-3树是一个满树,若全为2-的节点,即为满二叉树
    所以2-3树节点n和高度H的关系
    1 2 ( 3 H − 1 ) ⩾ n ⩾ 2 H − 1 ⇒ H ⩽ log ⁡ 2 ( n + 1 ) \frac{1}{2}(3^{H}-1 ) \geqslant n \geqslant 2^H-1\\ \Rightarrow H \leqslant \log_2 (n+1) 21(3H1)n2H1Hlog2(n+1)

  3. 由红黑树转化为2-3树可知,2-3树的高度H==红黑树的"黑高"hb
    为什么?转化过程中,红连接展平,黑链接不动。始终不变的是黑连接,
    红黑树的黑高 h b ⩾ h 2 hb \geqslant \frac{h}{2} hb2h
    n ⩾ 2 H − 1 n ⩾ 2 h b − 1 ⩾ 2 h 2 − 1 h ⩽ 2 log ⁡ 2 ( n + 1 ) n \geqslant 2^{H}-1\\ n \geqslant 2^{hb}-1 \geqslant 2^{\frac{h}{2}} -1\\ h \leqslant 2\log_2 ( n+1) n2H1n2hb122h1h2log2(n+1)

猜你喜欢

转载自blog.csdn.net/weixin_43356770/article/details/138826034