为什么应该这样建立平衡搜索二叉树?

Posted luozhonghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么应该这样建立平衡搜索二叉树?相关的知识,希望对你有一定的参考价值。

如果出现了,

平衡因子为2的情况。

一定存在某个局部。

节点a的左子树b和右子树c均为平衡树(或者不存在)。

a不为平衡树,使调整使a成为平衡树即可。

  a

b   c
不妨设a的左子树b为n+2层 右子树c为n层(n>=0)

b有且仅有一个子树为n+1层 ,将该子树或该子树的子树上移一层即可。

(在维护的过程中,减去刚加入的导致不平衡的一个节点之前的树为平衡树)

若d为n+1层,原树 :

        A 
    B       c
  D e    f g

改变后: 

         B
    D       A
 e    c
f g

若e为n+1层,原树:
        A
  B           c
 d    E
      f g 

改变后:

       E
  B         A
 d f        g c

右侧更长同理。

以上是关于为什么应该这样建立平衡搜索二叉树?的主要内容,如果未能解决你的问题,请参考以下文章

平衡二叉树

平衡二叉树的构建

二叉树的深度平衡是啥意思?

什么是《平衡二叉树》

动态查找表---平衡二叉树

十五、平衡二叉搜索树(Balanced Binary Search Tree)