多个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有效的父母进行轮换?
我的解决方案有效吗?
没有找到相关结果
已邀请:
1 个回复
峨躬坎抬焚
要继续学习,请参阅Wikipedia关于AVL树的文章。因为节点5的平衡因子(请注意,这是在文章中定义的)为+2,而节点2的平衡因子为-1,所以首先需要向左旋转节点2子树。
接下来,您需要向右旋转整个树(大约在节点5上)。
那有意义吗?