平衡二叉树、红黑树

平衡二叉树:

前提是有序的二叉树,它的左右子树高度相差不超过1,它所有的子树也要满足这个
要求
如果一个有序的二叉树呈单支状(接近单支),它的效率接近链表,查找、访问效率
较低,因此当达到平衡时它的效率才最高
由于节点的位置受到值的影响,因此只能调整,而不能强行修改

二叉树不平衡的基础原因:
        x                                   y
       / \                                /   \
      y   t1     以y为轴向右旋转          z     x
     / \                                / \   / \
    z  t2                              t3 t4 t2 t1
   / \
  t3 t4

        x                                   y
       / \      以y为轴向左旋转            /   \   
      t1  y                              x     z
         / \                            / \   / \
        t2  z                          t1 t2 t3 t4
           / \
          t3  t4 

        x                  x                z
       / \                / \             /   \
      y   t1             z   t1          y     x
     / \                / \             / \   / \
    t2  z              y  t4           t2 t3 t4 t1
       / \            / \
      t3  t4         t2  t3
以z为轴向左旋转    以z为轴向右旋转       最终达到平衡

      x                 x                   z
     / \               / \                /   \
    t1  y             t1  z              x     y
       / \               / \            / \   / \
      z   t2            t3  y          t1 t3 t4 t2
     / \                   / \    
    t3 t4                 t4  t2
以z为轴向右旋转       以z为轴向左旋转   最终达到平衡

红黑树:

是一种自平衡的树,它的平衡不是根据子树的高度来调整的,而是给节点设置一
	个颜色,来达到平衡。
优点:插入和删除的效率,比AVL树要高
缺点:没有AVL树均匀,所以查找、访问效率没有AVL树高
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值