📜  数据结构 |平衡二叉搜索树 |问题 5

📅  最后修改于: 2021-09-08 14:55:44             🧑  作者: Mango

考虑以下 AVL 树。

60
      /     \  
    20      100
           /   \
         80    120     

以下哪个是插入70后更新的AVL树

A
        70
      /    \  
    60      100
   /       /    \
 20       80    120 

B
        100
      /    \  
    60      120
   /  \     /  
 20   70   80   


C
        80
      /    \  
    60      100
   /  \       \
 20   70      120

D
        80
      /    \  
    60      100
   /       /   \
 20      70    120  

(一) A
(乙)
(C)
(四)答案: (C)
说明: AVL 插入的步骤如下。

AVL 树 |组 1(插入)

After insertion of 70, tree becomes following
         60
      /     \  
    20      100
           /   \
         80    120     
        /
       70

我们从 50 岁开始向上旅行。我们继续前进,直到找到一个不平衡的节点。在上面的例子中,我们到达节点 60 并且看到 60 在插入后变得不平衡,这是右左情况。所以我们需要应用两次旋转

60                               60                            80
      /     \       Right Rotate(100)  /      \     Left Rotate(60)   /    \
    20      100    -----------------> 20        80 ---------------> 60      100 
           /   \                              /   \                /  \        \
         80    120                          70     100            20   70       120  
        /                                            \    
      70                                             120 

这个问题的测验