用于左右算法的AVL树平衡

时间:2014-03-25 05:47:56

标签: algorithm tree binary-tree binary-search-tree avl-tree

enter image description here

我有这棵树,想知道这是否平衡。

从节点13,它是不平衡的。但是其他节点都是平衡的,因为高度差不超过1或-1。

然后我应该如何重新平衡这棵树?

1 个答案:

答案 0 :(得分:0)

答案是肯定的。节点13的平衡因子为-2。因此,您需要在节点5上进行左旋转,然后在节点13上进行右旋转。如下所示:

在节点5上左旋后

                 13 
         |--------|--------|
        10                 17
    |----|     
    5
|---|---|
4       7

在节点13上右旋后:

             10 
    |--------|--------|
    5                 13
|---|---|             |----|     
4       7                  17

现在是平衡的。