透彻理解红黑树之五
来源:互联网 发布:服务器远控软件 编辑:程序博客网 时间:2024/04/28 00:52
首先,各个结点插入与以上的各种插入情况,一一对应起来,如图:
以下的20张图,是依次插入这些结点:12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17的全程演示图,已经把所有的5种插入情况,都全部涉及到了:
红黑树的一一插入各结点:12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17的全程演示图完。
红黑树删除情况全过程演示
红黑树的所有删除情况,如下:
情况1: N 是新的根。
情形2:兄弟节点S是红色
[对应我第二篇文章中,情况1:x的兄弟w是红色的。]
情况 3: 兄弟节点S是黑色的,且S的俩个儿子都是黑色的。但N的父节点P,是黑色。
[对应我第二篇文章中,情况2:x的兄弟w是黑色的,且兄弟w的俩个儿子都是黑色的。
(这里,N的父节点P为黑)]
情况4: 兄弟节点S 是黑色的、S 的儿子也都是黑色的,但是 N 的父亲P,是红色。
[还是对应我第二篇文章中,情况2:x的兄弟w是黑色的,且w的俩个孩子都是黑色的。
(这里,N的父节点P为红)]
情况5: 兄弟S为黑色,S 的左儿子是红色,S 的右儿子是黑色,而N是它父亲的左儿子。
//此种情况,最后转化到下面的情况6。
[对应我第二篇文章中,情况3:x的兄弟w是黑色的,w的左孩子是红色,w的右孩子是黑色。]
情况6: 兄弟节点S是黑色,S的右儿子是红色,而 N 是它父亲的左儿子。
[对应我第二篇文章中,情况4:x的兄弟w是黑色的,且w的右孩子时红色的。]
接下来,便是一一删除这些点12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17为例,即,红黑树删除情况全程演示:
各个结点删除与以上的六种情况,一一对应起来,如图:
首先,插入12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17结点后,形成的红黑树为:
然后,以下的20张图,是一一删除这些结点12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17所得到的删除情况的全程演示图:
- 透彻理解红黑树之五
- 透彻理解红黑树之四
- 透彻理解红黑树之六
- 教你透彻理解红黑树
- 透彻了解红黑树之二
- 透彻了解红黑树之三
- 通过案例对SparkStreaming透彻理解三板之二
- 通过案例对SparkStreaming 透彻理解三板斧之二
- 透彻理解Spring事务设计思想之手写实现
- 电路交换 透彻理解
- 报文交换 透彻理解
- 分组交换 透彻理解
- av_find_stream_info还没有理解透彻?
- av_find_stream_info还没有理解透彻?
- 透彻理解IOC
- 透彻理解迪杰斯特拉算法
- 透彻理解指针
- 透彻理解迪杰斯特拉算法
- struts2 package元素配置
- 设计模式之 Simple Factory(其实该模式不是23中设计模式之一)
- sql语法大全
- tftp上传与下载命令
- 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
- 透彻理解红黑树之五
- 正则表达式学习心得
- 手工制作 WIGGLER JTAG for the MIPS CPU
- 学习时碰到的尴尬
- 透彻理解红黑树之六
- Android中的文件下载
- informix插入数据报271,136错误
- ROM、RAM、DRAM、SRAM、FLASH.....的区别?
- Android常用控件总结