向空的AVL树中依次插入关键字5、2、4、8、6、7,画出最终生成的AVL树
时间: 2023-10-14 17:06:32 浏览: 51
首先,空的 AVL 树不包含任何节点,因此我们需要先创建一个根节点并将关键字 5 插入:
```
5
/ \
/ \
NULL NULL
```
然后,我们插入关键字 2,此时树不再是平衡的,需要进行旋转操作:
```
5
/ \
/ \
2 NULL
/ \
NULL
```
接着,插入关键字 4,树仍然不平衡,需要再次进行旋转操作:
```
5
/ \
/ \
2 6
/ \
4 NULL
/ \
NULL NULL
```
然后,插入关键字 8,树仍然不平衡,需要再次进行旋转操作:
```
5
/ \
/ \
2 6
/ \
4 8
/ \ / \
NULL NULL NULL NULL
```
接着,插入关键字 6,树不平衡,需要进行旋转操作:
```
5
/ \
/ \
2 6
/ \
4 8
/ \
NULL 7
/ \
NULL NULL
```
最后,插入关键字 7,树仍然不平衡,需要再次进行旋转操作:
```
5
/ \
/ \
2 6
/ \
4 8
/ \ / \
NULL 7 NULL NULL
/ \
NULL NULL
```
最终生成的 AVL 树如下图所示:
```
5
/ \
2 6
/ \ \
1 4 8
/ \
3 7
```