西南石油大学求二叉树的高度
时间: 2023-08-29 14:07:44 浏览: 44
好的,这是一个关于数据结构的问题。计算二叉树的高度可以通过递归算法来实现。具体的算法如下:
```python
def get_height(root):
if not root:
return 0
else:
left_height = get_height(root.left)
right_height = get_height(root.right)
return max(left_height, right_height) + 1
```
其中,`root` 代表二叉树的根节点。如果根节点为空,则高度为0。否则,递归计算左子树和右子树的高度,并返回较大值加1作为整个树的高度。
希望能够帮助到你!
相关问题
求二叉树高度是否完全二叉树
求二叉树的高度是指二叉树中从根节点到最远叶子节点的路径上的节点数目。判断一棵二叉树是否为完全二叉树,需要满足以下两个条件:
1. 对于任意一个节点,如果其右子树不为空,则其左子树必须不为空。
2. 如果某个节点的右子树为空,则其后面的所有节点都必须没有子节点。
如果一棵二叉树满足上述两个条件,则可以判断它为完全二叉树。
编写算法求二叉树高度
编写算法求二叉树的高度可以使用递归的方式来实现。下面是一个示例算法:
1. 如果二叉树为空,则返回0。
2. 否则,递归计算左子树的高度,记为left_height。
3. 递归计算右子树的高度,记为right_height。
4. 返回左子树高度和右子树高度中的较大值加1。
以下是示例代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def get_tree_height(root):
if root is None:
return 0
else:
left_height = get_tree_height(root.left)
right_height = get_tree_height(root.right)
return max(left_height, right_height) + 1
```