给出下面的AVL树:
23
/ \
19 35
/ \ / \
8 20 27 40
/
38
/
36
可以在40,向右进行一次旋转吗?做到这样的事情:
23
/ \
19 35
/ \ / \
8 20 27 38
/ \
36 40
它仍然符合与左子树相比具有-1高度的AVL属性.
在答案中,它会进行双重旋转,因此上面35处的子树看起来像这样:
23
/ \
19 38
/ \ / \
8 20 35 40
/ \
27 36
我不明白何时进行双重旋转以及何时进行单次旋转,如果它们都不违反高度属性.
最佳答案 双旋转可能是由于使用的特定AVL算法.这两个答案看起来都像是有效的AVL树.