pta 计算二叉树高度
时间: 2024-12-28 19:29:30 浏览: 2
### 计算二叉树高度的算法
为了计算二叉树的高度,可以采用递归方法来解决这个问题。具体来说,在每次调用过程中,分别求解左子树和右子树的最大深度,并取两者较大者加一作为当前节点所在层次的高度。
下面是一个基于C语言实现的例子:
```c
int GetHeight(BinTree BT) {
int height = 0;
if (BT != NULL) { // 如果不是空树,则继续处理
int leftHeight = GetHeight(BT->Left); // 获取左子树高度
int rightHeight = GetHeight(BT->Right); // 获取右子树高度
// 取左右子树中的最大值再加1即为该结点处整棵树的高度
height = (leftHeight > rightHeight) ? leftHeight + 1 : rightHeight + 1;
}
return height; // 返回最终得到的高度
}
```
此段代码实现了`GetHeight()`函数的功能,用于获取指定二叉树的高度[^4]。当传入参数为空指针时(表示到达叶子节点之后),则直接返回零;否则会先递归查询其左右两个分支各自对应的高度,最后比较二者大小并加上一层级数后向上层反馈结果。
需要注意的是,在实际编程环境中还需要考虑边界条件以及异常情况下的处理逻辑,比如输入非法等情况。此外,上述例子假设已经存在创建二叉树的相关接口如`CreatBinTree()`等辅助功能支持[^3]。
阅读全文