数据结构 —— 二叉查找树

二叉查找树:

  • 某节点的左子树节点值仅包含小于该节点值
  • 某节点的右子树节点值仅包含大于该节点值
  • 左右子树每个也必须是二叉查找树

根据以上定义可能出现二叉树有:从数学角度上来讲右子树,显然不平衡,插叙效率不高。

一、红黑树

是一个自平衡(不是绝对的平衡)的二叉查找树。

定义:

  • 每个节点都有红色或黑色
  • 树的根始终是黑色的 (黑土地孕育黑树根 )
  • 没有两个相邻的红色节点(红色节点不能有红色父节点或红色子节点,并没有说不能出现连续的黑色节点
  • 从节点(包括根)到其任何后代NULL节点(叶子结点下方挂的两个空节点,并且认为他们是黑色的)的每条路径都具有相同数量的黑色节点

红黑树有两大操作:

  1. recolor (重新标记黑色或红色)
  2. rotation (旋转,这是树达到平衡的关键)

平衡过程中,先尝试 recolor,如果 recolor 不能达到红黑树的 4 点要求,然后我们尝试 rotation。

参考文章— 红黑树

二、AVL树

 

参考文章—AVL树

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值