按照1 3 -2 10 7 8 19 的序列顺序插入,建立二叉排序树,请问值为7的结点深度是
时间: 2024-02-21 07:58:51 浏览: 31
按照给定的序列顺序插入,可以得到如下的二叉排序树:
```
1
\
3
/ \
-2 10
/\
7 19
/
8
```
可以看到,值为7的节点的深度为3,因为从根节点开始,经过3个节点才能到达值为7的节点。因此,值为7的节点的深度为3。
相关问题
计算中序排序二叉排序树-40 -5 0 1 3 4 5 7 8 10的成功查找长度
中序遍历二叉排序树得到的序列是一个有序序列,因此对于给定的序列,可以构建一棵唯一的二叉排序树。构建后,对于每个要查找的元素,从根节点开始比较,如果当前节点的值等于要查找的值,则查找成功;否则,如果要查找的值小于当前节点的值,则往左子树递归查找,否则往右子树递归查找。每次递归都会深入一层树,因此成功查找长度就是从根节点到查找成功的节点的路径长度。
对于给定的序列,构建的二叉排序树如下所示:
```
4
/ \
0 7
/ \ / \
-5 1 5 8
\ / \
-40 3 10
```
假设要查找的元素依次为 4, 0, 8, 3,成功查找的路径分别为:
- 4:1(根节点)
- 0:2(根节点 -> 左子树 -> 左子树)
- 8:3(根节点 -> 右子树 -> 右子树 -> 右子树)
- 3:4(根节点 -> 右子树 -> 左子树 -> 右子树 -> 左子树)
因此,成功查找长度的总和为 1+2+3+4=10。
从空树开始,使用关键字序列:1,2,3,4,5,6,7,8,9,建立一棵平衡二叉排序树。
首先,我们需要将关键字序列排序,得到:1,2,3,4,5,6,7,8,9。
接下来,我们需要构建平衡二叉排序树。一种简单的方法是采用中序遍历的方式,将关键字序列依次插入树中。
具体步骤如下:
1. 将序列的中间元素 5 插入根节点。
2. 将序列左半部分(1,2,3,4)的中间元素 2 插入 5 的左子树。
3. 将序列右半部分(6,7,8,9)的中间元素 8 插入 5 的右子树。
4. 重复步骤 2 和步骤 3,直到所有元素都被插入树中。
最终得到的平衡二叉排序树如下所示:
```
5
/ \
2 8
/ \ / \
1 3 6 9
\
4
\
7
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)