码迷,mamicode.com
首页 > 其他好文 > 详细

红黑树

时间:2015-01-08 22:45:31      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

  在数据结构中我们常见的平衡二叉树有AVL树和红黑树。

  红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。

  我们来看红黑树的定义:红黑树首先是一棵二叉查找树,它每个结点都被标上了颜色(红色或黑色),红黑树满足以下5个性质:

  1、 每个结点的颜色只能是红色或黑色。

  2、 根结点是黑色的。

  3、 每个叶子结点都带有两个空的黑色结点(被称为黑哨兵),如果一个结点n的只有一个左孩子,那么n的右孩子是一个黑哨兵;如果结点n只有一个右孩子,那么n的左孩子是一个黑哨兵。

  4、 如果一个结点是红的,则它的两个儿子都是黑的。也就是说在一条路径上不能出现相邻的两个红色结点。

  5、 对于每个结点来说,从该结点到其子孙叶结点的所有路径上包含相同数目的黑结点。

  如图(图片来源于网络技术分享

  具体操作下次更新

 

                              

红黑树

标签:

原文地址:http://www.cnblogs.com/Xdwd/p/4211953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!