二叉树树高oython
时间: 2024-08-17 15:02:14 浏览: 30
在Python中,二叉树的高度(也称为深度)指的是从根节点到最远叶子节点的最大路径长度。对于每个节点,它有最多两个子节点(左孩子和右孩子),所以高度计算通常通过递归的方式来进行:
1. 如果当前节点为空,那么该子树的高度为0;
2. 否则,计算左子树和右子树的高度,取两者中的较大值加1作为当前节点的高度。
这个过程可以定义在一个函数中,比如`height`,接受一个二叉树的根节点作为输入,返回树的高度。如果二叉树非空,这个过程会持续到所有子节点都被处理完。
下面是一个简单的Python示例,假设有一个二叉树类`BinaryTree`:
```python
class BinaryTree:
def __init__(self, value, left=None, right=None):
self.value = value
self.left = left
self.right = right
def height(self):
if not self.left and not self.right: # 叶子节点
return 0
else:
left_height = self.height(self.left) if self.left else 0
right_height = self.height(self.right) if self.right else 0
return max(left_height, right_height) + 1
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)