用c语言实现统计二叉树的高度
时间: 2024-05-10 14:02:01 浏览: 72
C语言实现二叉树
以下是用 C 语言实现统计二叉树高度的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* left;
struct Node* right;
};
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*) malloc(sizeof(struct Node));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
int getHeight(struct Node* root) {
if (root == NULL) {
return 0;
} else {
int leftHeight = getHeight(root->left);
int rightHeight = getHeight(root->right);
if (leftHeight > rightHeight) {
return (leftHeight + 1);
} else {
return (rightHeight + 1);
}
}
}
int main() {
struct Node* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
printf("Height of binary tree is: %d\n", getHeight(root));
return 0;
}
```
输出结果:
```
Height of binary tree is: 3
```
在这个示例中,我们创建了一棵二叉树,并使用 `getHeight` 函数计算了它的高度。`getHeight` 函数使用递归方法计算二叉树的高度。如果节点为空,则返回 0,否则在左子树和右子树中找到最大高度,并将其加 1 返回。最后,在主函数中,我们调用 `getHeight` 函数并打印输出二叉树的高度。
阅读全文