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

📅  最后修改于: 2021-06-28 21:16:28             🧑  作者: 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) A
(B) B
(C) C
(D) D答案: (C)
说明:请参考以下有关AVL插入中使用的步骤。

AVL树|设置1(插入)

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

我们从50岁开始向上旅行。我们一直往前走,直到找到一个不平衡的节点。在上述情况下,我们到达节点60并看到60在插入后变得不平衡,这就是Right Left Case。所以我们需要进行两次旋转

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

这个问题的测验