逐个结点插入构成平衡二叉树,插入结点的数据顺序为:12,4,1,7,8,10,9,2,11,6,5
问题描述:
逐个结点插入构成平衡二叉树,插入结点的数据顺序为:12,4,1,7,8,10,9,2,11,6,5
在插入过程中平衡树条件如被破坏,则进行必要的调整,试画出每插入一个结点后平衡树的情况
马上就要.+++++分!
答
插入序列:12,4,1,7,8,10,9,2,11,6,5
1、先插入12成为根
2、插入4在12的左子树,没有旋转
3、插入1在4的左子树,以4为中心向右单旋转,结果如下:
4
/ \
1 12
4、插入7在12的左子树,没有旋转
5、插入8在7的右子树,以8开始先左后右双旋转,结果如下:
4
/ \
1 8
/ \
7 12
6、插入10在12左子树,以8为中心开始向左单旋转,结果如下:
8
/ \
4 12
/ \ /
1 7 10
7、插入9在10 的左子树,以10为中心向右单旋转,结果如下:
8
/ \
4 10
/ \ / \
1 7 9 12
8、插入2在1的右子树,没有旋转
9、插入11在12 的左子树,没有旋转
10、插入6在7的左子树,没有旋转
11、插入5在6的左子树,以6为中心向右单旋转,结果如下:
8
/ \
4 10
/ \ / \
1 6 9 12
\ / \ /
2 5 7 11