红黑树
红黑树知识点
红黑树五大定义:
节点颜色有红色和黑色
根节点必须为黑色
2-3 树中如果根节点为 2 节点,那么他本来就对应红黑树中黑色节点,如果根节点为3 节点,也可以用黑色节点表示较大的那个元素,然后较小的元素作为左倾红节点存在于红黑树中
所有叶子节点都是黑色
任意节点到叶子节点经过的黑色节点数目相同
红黑树中的红节点是和黑色父节点绑定的,在 2-3 树中本来就是同一层,只有黑色节点才会在 2-3 树中真正贡献高度,由于 2-3 树的任一节点到空链接的距离相同,因此反应在红黑树中就是黑色完美平衡
不会有连续的红色节点
2-3 树中本来就规定没有 4 节点,2-3-4 树中虽然有 4 节点,但是要求在红黑树中体现为一黑色节点带两个红色儿子,分布左右,所以也不会有连续红节点
关于树的旋转
为了调平一颗二叉树,使其左右节点数据分布均匀,通常会选择旋转的手段。可以把一颗二叉树某节点的左右子树想象成天平上待称量的物品,如果那边重了,我们就从重的那边拿出一部分,放到轻的那边,以此保持相对的平均。
旋转是二叉树调平的精髓
简单理解:
左旋就是旋转点的右节点上升,同时将旋转点作为子节点挂载到右节点左边
右旋就是旋转点的左节点上升,同时将旋转点作为子节点挂载到左节点右边
https://mp.weixin.qq.com/s/sPIE54UmvNgINZIATQKyew
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!