将序列{34,23,15,98,115,28,107}生成一棵平衡二叉排序树,使得每次插入后保持该树仍为平衡二叉排序树请画出每次插入关键字后形成的二叉排序树
时间: 2023-09-02 10:06:16 浏览: 69
好的,我来回答你的问题并画出每次插入后形成的二叉排序树。
首先,我们将序列进行排序,得到{15, 23, 28, 34, 98, 107, 115}。然后将中间的数34作为根节点,左边的数作为左子树,右边的数作为右子树。
第一步,插入15:
插入15后,左子树比右子树小,需要将23作为根节点。此时,左子树为15,右子树为{28, 34, 98, 107, 115}。
```
34
/ \
23 98
/ \ / \
15 28 107 115
```
第二步,插入23:
插入23后,左子树比右子树小,需要将28作为根节点。此时,左子树为{15, 23},右子树为{34, 98, 107, 115}。
```
34
/ \
28 98
/ \ / \
15 23 107 115
```
第三步,插入28:
插入28后,左子树和右子树大小相等,不需要调整。此时,左子树为{15, 23, 28},右子树为{34, 98, 107, 115}。
```
34
/ \
23 98
/ \ / \
15 28 107 115
```
第四步,插入98:
插入98后,左子树比右子树大,需要将107作为根节点。此时,左子树为{15, 23, 28, 34, 98},右子树为{115}。
```
34
/ \
23 98
/ \ / \
15 28 107 115
```
第五步,插入115:
插入115后,左子树比右子树小,需要将98作为根节点。此时,左子树为{15, 23, 28, 34},右子树为{107, 115}。
```
34
/ \
23 98
/ \ / \
15 28 107 115
```
最终,得到的平衡二叉排序树为:
```
34
/ \
23 98
/ \ / \
15 28 107 115
```
希望我的回答能够帮到你!
阅读全文