红黑树插入算法调整的一些原则
来源:互联网 发布:w7 mysql更改密码 编辑:程序博客网 时间:2024/06/10 13:59
红黑树的定义
红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:
性质1. 节点是红色或黑色。
性质2. 根是黑色。
性质3. 所有叶子都是黑色(叶子是NIL节点)。
性质4. 每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。)
性质5. 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。
红黑树插入后调整原则
由于红黑树的性质 5 被破坏后恢复极其复杂,所以红黑树插入算法的第一个原则是插入后,性质 5 不变,所以,我们要把新插入的节点涂为红色。
新节点为红色,则可能产生的冲突只有一种,那就是刚好他的父节点也为红色。
- 递归下去 , 我们在调整当前局面时,决不能破坏性质 5 ,在保持每条分支黑色节点数量不变的情况下,将红红冲突一直向上移,直到根节点变为红色,此时把根节点涂黑,然后就可以了。
- 局部分支调整策略,其实就是能变颜色就变颜色,不能变得就左旋和右旋。
阅读全文
0 0
- 红黑树插入算法调整的一些原则
- 我的一些算法学习原则
- java实现红黑树的插入与调整
- 红黑树的插入操作详解(插入调整)
- 针对百度近期频繁调整算法的一些看法
- debian的一些调整
- zoj2724 堆的插入调整
- 编码的一些原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- 一些软件设计的原则
- JSP的7个动作指令
- jmeter解决响应数据乱码问题
- C# winform把新值写入app.config文件
- (六)Interacting with Other Apps与其他应用进行交互
- 什么是事件委托?
- 红黑树插入算法调整的一些原则
- 欢迎使用CSDN-markdown编辑器
- [数据库与SQL]
- 学习嵌入式Linux系统开发基础 第五课(Linux服务器配置)
- 数据库-sql语法例子
- svn应用中的注意事项
- GitHub Desktop安装配置
- 开学第一周总结
- 文本文件与二进制文件