关于红黑树

1 理解左旋和右旋

 旋转是相对于所选定的两个节点及其兄弟节点构成的三角形而言的,左旋转就是这两个节点构成的边向左旋转到了另外一条边,而右旋转就是这两个节点够的边向右旋转到了另外一条边上。旋转成功了之后,当了父亲的儿子多出来的一条边就给了原来的父亲。 

旋转的步骤:

第一步,选定要进行旋转的两个节点,父亲和儿子。

第二步,父亲、儿子和父亲的另外一个儿子(没有就虚构一个),三个人构成一个三角形;

第三步,左旋转就是父亲和儿子构成的边向左旋转到另外一条边上,右旋转就是父亲和儿子构成的边向右旋转到另外一条边上。

2 红黑树的5个特征

颜色限制:只有两种颜色,红色和黑色。

根和叶子节点限制:黑色。

对所有红色节点的限制:红色节点的子节点都是黑色节点。

对所有黑色节点的限制:任意节点到叶子节点的路径上的黑色节点的数目是相同的。

3 红黑树的平衡插入

新插入的节点设置为红色。因为原来的树是满足条件的红黑树,即任意节点到叶子节点的路径上的黑色节点的数目是相同的。如果插入了黑色,那么这条性质就违反了。插入红色的话,尽管可能违反红色节点的子节点都是黑色节点,但是可以通过调换父子节点的颜色来调整。

4 红黑树的平衡删除

猜你喜欢

转载自www.cnblogs.com/hustdc/p/10937869.html
今日推荐