二叉树采用二叉链表存储,要求编写算法计算二叉树的高度
时间: 2024-01-23 18:46:01 浏览: 30
好的,针对您的问题,我可以给您提供以下算法计算二叉树的高度:
1. 判断树是否为空,若为空则树的高度为0;
2. 若树不为空,则递归地求左子树和右子树的高度,将两者的最大值加1即为整棵树的高度。
下面是一份采用 Python 实现的代码示例:
```
class BinaryTree:
def __init__(self, value, left=None, right=None):
self.value = value
self.left = left
self.right = right
def tree_height(node):
if node is None:
return 0
else:
left_height = tree_height(node.left)
right_height = tree_height(node.right)
return max(left_height, right_height) + 1
root = BinaryTree(5,
left=BinaryTree(3, left=BinaryTree(2), right=BinaryTree(4)),
right=BinaryTree(7, left=BinaryTree(6), right=BinaryTree(8)))
print(tree_height(root)) # 输出结果为 3
```
希望以上代码可以帮助您解决问题,如果还有不明白的地方请不要犹豫告诉我。