【C++】红黑树

觉得自己被需要
才能一直保持着生活的动力啊
那就继续加油喽!

目录:

  • 概念
  • 性质
  • 结构
  • 红黑树的插入操作

>>红黑树概念

它是一种二叉搜索树,在每个节点上增加一个存储位表示节点的颜色,可以是RED或BLACK。通过都任何一条从根到叶子的路径各个节点颜色的限制,红黑树确保没有一条路径会比其他路径长2倍,因此是近似平衡,其时间复杂度log(N);

红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。

虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。

>>性质

  • 每个节点不是红色就是黑色;
  • 根结点是黑色的;
  • 如果一个节点是红色的,则它的两个孩子节点是黑色的(从每个叶子到根的所有路径上不能有两个连续的红色节点);
  • 对于每个节点,从该节点到其他所有后代节点的路径上,均包含相同数目的黑色节点;
  • 每个叶子节点都是黑色的(此处的叶子节点指的是空节点);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值