红黑树的前世今生

2022-06-27  本文已影响0人  Aaron_Swartz

红黑树本质还是解决排序问题,并且它在插入和删除节点方面有效率优势。
线性结构搜索时间复杂度: O(n)
有序的线性结构搜索的时间复杂度是O(logn) 但是插入、删除的时候需要移动大量元素,比较费时。

  1. 每一个结点要么是红色,要么是黑色。
  2. 根结点是黑色的。
  3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,所有查询关键字都在非终结点上。
  4. 每个红色结点的两个子节点必须是黑色的。换句话说:从每个叶子到根的所有路径上不能有两个连续的红色结点
  5. 从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点


    image.png
  1. 一颗拥有n个内部结点(不包括叶子结点)的红黑树的数高最多为2O(log(n+1)), 近似也为log(n)

参考:
1 红黑树相关定理证明
2 2021年最好懂的红黑树

上一篇 下一篇

猜你喜欢

热点阅读