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

数据结构之红黑树

时间:2018-03-29 02:11:21      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:红黑树;Java

数据结构之红黑树


红黑树介绍:
红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。

1:红黑树性质
先上图
技术分享图片
性质1:所有节点要么是红色要么是黑色。这里只是对节点进行区分,也就是说节点只有2种状态
性质2:根节点必须是黑色。
性质3:所有叶子节点(NIL或者空节点)必须为黑色。
性质4:红节点的2个子节点必须都为黑色。这里是杜绝出现连续的红节点
性质5:从任一节点到其它每个叶节点的所有路径都包含相同数目的黑色节点。
只有满足以上5个性质的二叉树才是红黑树。

数据结构之红黑树

标签:红黑树;Java

原文地址:http://blog.51cto.com/superhakce/2092251

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