【发布时间】:2011-09-14 17:32:16
【问题描述】:
给定下面的 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
如果它们都没有违反 height 属性,我不明白何时进行双旋转以及何时进行单旋转。
【问题讨论】:
-
+1 只为酷酷的小树。
标签: binary-tree avl-tree