给出关键字序列(35 20 25 50 17 73 45 19 37 3 18 48 36),分别创建二初始为空的二叉排序树(BST)和平衡二叉树(AVL),只要求给出最后的结果。
时间: 2024-02-02 11:03:46 浏览: 59
首先是创建二叉排序树(BST)的过程:
1. 将35作为根节点。
2. 将20插入到左子树中。
3. 将25插入到20的右子树中。
4. 将50插入到右子树中。
5. 将17插入到20的左子树中。
6. 将73插入到50的右子树中。
7. 将45插入到50的左子树的右子树中。
8. 将19插入到17的右子树中。
9. 将37插入到35的右子树的左子树中。
10. 将3插入到17的左子树中。
11. 将18插入到17的右子树的左子树中。
12. 将48插入到50的右子树的左子树中。
13. 将36插入到35的右子树中。
最终的BST如下图所示:
```
35
/ \
20 50
/ \ / \
17 25 45 73
/ \ / \
3 19 37 48
\
18
\
36
```
接下来是创建平衡二叉树(AVL)的过程:
1. 将35作为根节点。
2. 将20插入到左子树中。
3. 将25插入到20的右子树中。
4. 将50插入到右子树中。
5. 将17插入到20的左子树中。
6. 将73插入到50的右子树中。
7. 将45插入到50的左子树的右子树中。
8. 将19插入到17的右子树中。
9. 将37插入到35的右子树的左子树中。
10. 将3插入到17的左子树中。
11. 将18插入到19的左子树中。
12. 将48插入到45的右子树中。
13. 将36插入到37的左子树中。
最终的AVL如下图所示:
```
20
/ \
17 35
/ / \
3 25 50
/ / \
19 37 73
\
45
\
48
\
36
```
可以看到,AVL树通过对BST树进行旋转操作,使得树的高度更加平衡,从而保证了树的查找效率。
阅读全文