早教吧 育儿知识 作业答案 考试题库 百科 知识分享

以二叉链表为存储结构,分别写出求二叉树结点总数及叶总数的算法。(数据结构)

题目详情
以二叉链表为存储结构,分别写出求二叉树结点总数及叶总数的算法。(数据结构)
▼优质解答
答案和解析
int CountNode (BTNode *t) //节点总数
{
int num;
if (t == NULL)
num = 0;
else
num = 1 + CountNode (t->lch) + CountNode (t->rch);
return (num);
}
void CountLeaf (BTNode *t) //叶子节点总数
{
if (t != NULL)
{
if (t->lch == NULL && t->rch == NULL)
count ++; // 全局变量
CountLeaf (t->lch);
CountLeaf (t->rch);
}
}