我正在尝试将新值插入AVL
树中。新的插入会导致不平衡(根据维基百科上的文章,这应该属于左右情况),因此需要旋转。但是,在当前情况下不可能轮换,因为两个孩子最终都变得比父母小:
15
/ \
10 27
/ \
8 12
现在如果我想插入 11,结构就会变得不平衡:
15
/ \
10 27
/ \
8 12
/
11
由于左子树更长,并且左子树具有更长的右子树,根据维基百科的图表,这应该属于左右情况。然而,在那里,元素4
同时具有左右子树,使得旋转成为可能。但是在这里,由于12
只有左子树,因此旋转使它看起来像:
15
/ \
12 27
/ \
10 8
/
11
导致两个孩子12
都不到 12 岁。我在这里做错了什么?