[英]AVL insertion on a tree confusion
我对在AVL树上插入如何工作感到有些困惑。 我知道树必须始终保持平衡。 当我尝试在余额下方插入21时,需要重新计算余额。 如果有人可以向我解释这是如何完成的,我将不胜感激。 谢谢!
BEFORE INSERTING 21
16
/\
9 30
/ / \
4 23 34
/ \
20 26
AFTER INSERTING 21
16
/\
9 30
/ / \
4 23 34
/ \
20 26
\
21
您需要在左子树和右子树之间存在多个高度差的级别上旋转。
BEFORE INSERTING 21
16
/\
9 30
/ / \
4 23 34
/ \
20 26
AFTER INSERTING 21
16
/\
9 30
/ / \
4 23 34
/ \
20 26
\
21
在节点30处的高度差为2。因此,在节点30处向右旋转。
AFTER ROTATION
16
/ \
9 23
/ / \
4 20 30
\ / \
21 26 34
有单旋转和双旋转。 在您的情况下,一个旋转就足够了。 但这并非每次都如此。 看看旋转是如何工作的 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.