2013-03-18 214 views
1

找到一个示例AVL树,以便从树 中删除单个(特定)值会导致从两个不同节点开始重新平衡。AVL树删除

我有这个作为我的作业问题。我知道AVL树是什么,但我不明白上面的问题。有人可以放光吗?

在两个不同的节点重新平衡是否意味着需要两次旋转来修复树?

回答

1

AVL重新平衡操作是一个特定节点需要应用单循环或双循环以纠正树中不平衡的时间。我认为问题是要求你找到一种情况,即在AVL树中进行单一或双重旋转从本地修复天平,但是随后需要在树中较高层的节点上执行重新平衡操作。

希望这会有所帮助!

+0

是的好...我认为对于avl树,至多只需要2次操作/旋转来平衡树...对吧?所以如果我进行两轮旋转......那么我的树应该平衡......所以重新平衡操作不需要在树上更高......对吧?所以我没有回答你提出的这个问题。 – Nikhil 2013-03-18 22:23:13

+0

@ Nikhil-我的目的只是为了澄清作业所说的内容。两轮轮胎是不够的,你的作业是找出原因。 – templatetypedef 2013-03-18 22:25:51

+0

噢...如果是插入,最多双重旋转可以平衡树。但在删除的情况下,不平衡可以向上传播...我的坏...我会更深入地了解这.. – Nikhil 2013-03-19 01:45:36