统计二叉树内结点的算法
时间: 2023-12-02 14:04:10 浏览: 79
分类二叉树的相关算法.doc
统计二叉树的结点可以使用递归的方式,具体算法如下:
1. 如果二叉树为空,则结点数为0,返回0。
2. 如果二叉树非空,则结点数为左子树的结点数加上右子树的结点数再加1,即:
`结点数 = 左子树结点数 + 右子树结点数 + 1`
3. 对于二叉树的每个子树,都可以使用上述递归算法来计算其结点数。
下面是使用C++实现的统计二叉树结点的算法:
```c++
int countNodes(TreeNode* root) {
if (root == NULL) {
return 0;
} else {
int leftCount = countNodes(root->left);
int rightCount = countNodes(root->right);
return leftCount + rightCount + 1;
}
}
```
其中,`TreeNode`是二叉树的结点类型。
阅读全文