B站搜索“乐哥聊编程“有本篇文章配套视频 https://www.bilibili.com/video/BV1ZV4y1g7hT
正常情况下长这样
极端情况下长这样
如果长这样的,查找时间复杂度就是O(n)了,那么就得靠平衡二叉树优化了,现在有请平衡二叉树登场...
虽然能做到平衡了,避免了O(n),但是每次都进行频繁的左旋或右旋,咱也扛不住啊,所以来试试红黑树
这一点比较难懂:从任意一个结点(包括根结点)到其任何后代 NULL 结点(默认是黑色的)的每条路径都具有相同数量的黑色结点。没听懂?
解释下:这里每个叶子结点(2,4,6,55)都有一个黑色的NULL节点,那么从根节点003到任意的null节点都会经过相同个数的黑色节点(包括黑色的null节点),这样懂了吧。