多个AVL树旋转

| 假设我有一个无序集合s {3,6,5,1,2,4}并且我需要构造一个AVL树, 很好...我了解基本的旋转方式,现在到这里:
                               5 
                             /   \\
                            2      6
                           / \\
                         1     3
但是当我尝试插入4时一切都崩溃了 我得到的最后答案是(左)
             4      But the actual answer is:      3
           /   \\                                 /   \\
          2     5                               2     5
         / \\     \\                             /     / \\
        1   3     6                           1     4   6
当我分解它时,我会卡住做同样的旋转 所以我问我如何与对此AVL有效的父母进行轮换? 我的解决方案有效吗?     
已邀请:
        好吧,据我了解,当您第一次添加4时,您将得到以下树。
    5
   / \\
  2   6
 / \\
1   3
     \\
      4
要继续学习,请参阅Wikipedia关于AVL树的文章。因为节点5的平衡因子(请注意,这是在文章中定义的)为+2,而节点2的平衡因子为-1,所以首先需要向左旋转节点2子树。
      5
     / \\
    3   6
   / \\
  2   4
 /
1
接下来,您需要向右旋转整个树(大约在节点5上)。
    3
   / \\
  2   5
 /   / \\
1   4   6
那有意义吗?     

要回复问题请先登录注册