设计算法按先序次序打印统计二叉树T中度为2的结点的个数(用全局变量的方法) void NodeCount(BiTree *T)
时间: 2023-12-14 12:35:58 浏览: 93
统计二叉树的结点个数的参考程序
5星 · 资源好评率100%
以下是按照先序遍历的方式打印并统计二叉树T中度为2的节点个数的算法实现,使用了全局变量count记录度为2的节点个数:
```c
int count = 0; // 全局变量
void NodeCount(BiTree *T) {
if (T == NULL) return;
if (T->lchild != NULL && T->rchild != NULL) { // 当前节点的度为2
printf("%c ", T->data);
count++;
}
NodeCount(T->lchild); // 递归处理左子树
NodeCount(T->rchild); // 递归处理右子树
}
```
其中,BiTree是二叉树结构体类型,包含数据data和左右孩子指针lchild和rchild。
此算法的时间复杂度为O(n),其中n为二叉树中节点的个数。
阅读全文