按{12, 24, 36, 90, 52, 30}的顺序构建平衡二叉树
第一步
12
第二步
12
24
第三步
12
24
36
此时的结点12的平衡因子BF变成|-2|>1(右子树过高),要左旋(逆时针旋转),
12
\
24 24
\ / \
36 12 36
左旋后
第四步
插入90, 结点24的BF是-1,二叉树仍然保持平衡.
24
/ \
12 36
\
90
第五步
插入52, 结点36的BF是-2,结点90的BF是+1,两个符号不一致,结点90和52先右旋,
此时,结点52的BF是-1,结点36的BF是-2,再对结点36,52,90进行左旋.
24 24 24
/ \ / \ / \
12 36 12 36 12 52
\ \ / \
90 52 36 90
/ \
52 90
右旋后 左旋后
第六步
插入30, 结点52的BF是+1,结点24的BF是-2,两个符号不一致,
结点30,36和52先右旋,此时,结点36的BF是-1,结点24的BF是-2,
结点12,24和36进行左旋.
24 24 36
/ \ / \ / \
12 52 12 36 24 52
/ \ / \ / \ \
36 90 30 52 12 30 90
/ \
30 90
右旋后 左旋后