用c语言计算二叉树的深度
时间: 2024-09-25 11:13:18 浏览: 73
计算二叉树的深度c语言.pdf
在C语言中,计算二叉树的深度(高度)通常需要递归的方式来处理。二叉树的深度等于其最远叶子节点到根节点的最长路径。以下是一个简单的递归函数示例:
```c
#include <stdio.h>
#define MAX_HEIGHT 100 // 定义最大深度,可根据实际情况调整
// 定义二叉树节点结构体
typedef struct TreeNode {
int val; // 节点值
struct TreeNode *left; // 左子节点指针
struct TreeNode *right; // 右子节点指针
} TreeNode;
// 计算二叉树深度的辅助函数
int maxDepth(TreeNode* root) {
if (root == NULL) { // 如果根节点为空,返回0
return 0;
} else {
// 分别递归计算左子树和右子树的最大深度
int left_depth = maxDepth(root->left);
int right_depth = maxDepth(root->right);
// 返回当前节点所在的高度,即左右子树深度较大的那个加一
return (left_depth > right_depth ? left_depth + 1 : right_depth + 1);
}
}
int main() {
// 创建一个具体的二叉树实例并计算其深度
TreeNode* root = ... // 根据实际树结构初始化根节点
int treeDepth = maxDepth(root);
printf("The depth of the binary tree is %d.\n", treeDepth);
return 0;
}
```
阅读全文