首页 > 代码库 > 红黑树的插入原理,原理与实现篇
红黑树的插入原理,原理与实现篇
- 红黑树的五大性质(性质四与性质五特别重要)
1. 节点必须是红色或者是黑色
2. 根节点是黑色的
3. 所有的叶子节点是黑色的。
4. 每个红色节点的两个子节点是黑色的,也就是不能存在父子两个节点全是红色。
5. 从任意每个节点到其每个叶子节点的所有简单路径上黑色节点的数量是相同的。
以下情况两点说明:
- 新节点是红孩子
- 二叉树的左分支来讨论,右分支相反即可
- 第0种情况:
如果,父亲节点是黑色的,那么,直接插入即可!(如图)
- 第一种情况:
如果,父亲节点是黑色的,它的叔叔是红色的,那么,直接把祖父变成红色,然后,父亲与叔叔变成黑色!(如图)
- 第二种情况:
如果,父亲节点是红色的,它的叔叔是黑色的,那么,新节点是右孩子,则先左旋,变成第三种情况!(如图)
- 第三种情况:
如果,父亲节点是红色的,它的叔叔是黑色的,那么,节点是左孩子,则进行以(祖父的节点)向右转!(如图)
红黑树的插入原理,原理与实现篇
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。