红黑树

红黑树的概念

红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。他是1972年有鲁道夫.贝尔发明的。他称之为堆成二叉B树,他可以O(long)时间内做查找,插入和删除,这里的n是书中元素的数目。
二叉查找树(Binary Search Tree)也称之为二叉搜索树,有序二叉书或者二叉书,是指一颗空树或者具有下列性质的二叉树:
1.若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值
2.若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值
3.任意节点的左右书分别为二叉查找树
4.没有键值相等的节点

红黑树的特点

  1. 每一个节点不是红色就是黑色
  2. 根节点总是黑色的
  3. 每一个叶子节点都是黑色的空节点(NIL节点)
  4. 如果一个节点是红色,那么它的子节点一定是黑色的(反之不一定成立)
  5. 从根节点到任意一个最底下的子节点,这条路径中所包含的黑色节点个数必须是相同的(即黑色节点的高度是相同的)
  6. 在插入节点的时候,插入的节点一定是红色节点在这里插入图片描述

平衡性修正

1.变色
在这里插入图片描述
2.左旋
在这里插入图片描述
3.右旋
在这里插入图片描述

实例讲解

现在有一串数:11,2,14,1,7,13,5,8,需要来构建一颗红黑树,如何构建?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值