考研数据结构(每日一题)
题目:假设二叉树采用二叉链表存储结构存储,试设计一个算法,计算一棵给定二叉树的所有双分支(度为2)结点个数。
算法思想:
用递归,设置递归函数模型f(b):
f(b)=0 为空结点
f(b)=f(b->lchild)+f(b->rchild)+1 是双分支结点,+1是本身
f(b)=f(b->lchild)+f(b->rchild) 不是双分支结点
完整代码:
int DoubleNodes(BiTree b){
if(b == NULL){
return 0;
}else if(b -> lchild != NULL && b-> rchild != NULL){
return DoubleNodes(b -> lchild) + DoubleNodes(b -> rchild) + 1;
}else{
return DoubleNodes(b -> lchild) + DoubleNodes(b -> rchild);
}
}
本文介绍了一种使用递归算法计算给定二叉树中所有双分支结点数量的方法,并提供了完整的代码实现。适用于正在准备考研计算机专业数据结构部分的同学。
471

被折叠的 条评论
为什么被折叠?



