c++实现利用二叉树的链式存储结构计算二叉树的深度
时间: 2024-11-05 22:09:43 浏览: 29
二叉树的链式存储结构-二叉链表
5星 · 资源好评率100%
在C++中,利用二叉树的链式存储结构(也称为二叉链表)来计算二叉树的深度可以采用递归的方式来实现。二叉链表每个节点通常包含两个指针,分别指向左孩子和右孩子。以下是简单的步骤:
1. 定义一个节点结构体(Node),包含整数值(val)、左孩子指针(left)和右孩子指针(right)。
```cpp
struct Node {
int val;
Node* left;
Node* right;
};
```
2. 创建一个函数`int maxDepth(Node* root)`,这个函数用于计算从根节点到最远叶子节点的最长路径。如果根节点为空,则返回0表示空树的深度为0。
```cpp
int maxDepth(Node* root) {
if (root == nullptr) {
return 0; // 空节点,深度为0
} else {
// 计算左子树和右子树的最大深度,然后取较大值加一
int leftDepth = maxDepth(root->left);
int rightDepth = maxDepth(root->right);
return std::max(leftDepth, rightDepth) + 1; // 返回当前节点最大深度
}
}
```
阅读全文