work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最负盛名的平衡二叉树--红黑树

Posted on 2021-02-17 20:37  work hard work smart  阅读(74)  评论(0编辑  收藏  举报

一、算法导论中的红黑树

1、每个节点或者是红色的,或者是黑色的

2、根节点是黑色的

3、每一个叶子节点(最后的空节点)是黑色的

4、如果一个节点是红色的,那么他的孩子节点都是黑色的

5、从任意一个节点到叶子节点,经过的黑色节点是一样的

 

二、2-3树

满足二分搜索树的基本性质

节点可以存放一个元素或者两个元素

 

 每个节点有2个或者3个孩子---- 2-3树

2-3树是一棵绝对平衡的树(从根节点到叶子节点的节点数量是一致的)

 

2-3树如何维持绝对平衡

 

三、红黑树性能总结

对于完全随机的数据,普通的二分搜索树很好用。 缺点: 极端情况下退化成链表(或者高度不平衡)

对于查询较多的使用情况,AVL树很好用

红黑树牺牲了平衡性(2logn的高度),统计性能更优(综合增删改查所有的操作。)