数据结构 设计算法,统计一棵二叉树中值大于a的结点个数
1、数据结构 设计算法,统计一棵二叉树中值大于a的结点个数
int Sum(BiTree T,int x)//计算bai个数的函du数zhi(用dao递归的方zhuan法)shu
{
if(T==NULL)
return 0;
if(T->data>a)
return(Sum(T->lchild,x)+Sum(T->rchild,x)+1);
else return (Sum(T->lchild,x)+Sum(T->rchild,x)
}
2、数据结构问题,求解 设计算法,统计二叉树中结点个数。
typedef struct BiNode{
TElemType data;
struct BiNode *lchild,*rchild; //左、右孩子指针bai
}BiNode,*BiTree;
int NodeCount(BiTree T){
if(T == NULL ) return 0;//如果是空树,du则结点个zhi数dao为0;zhuan
else return NodeCount(T->lchild)+NodeCount(T->rchild)+1;
//结点个数为左子树的shu结点个数+右子树的结点个数再+1
}
3、
编写一个递归算法,计算二叉树中度为1的结点数目
bool hasdegree1(BiTree root){
if(root==NULL)
return false;
if(root->lchild==NULL&&root->rchild==NULL)
return false;
if(root->lchild!=NULL&&root->rchild!=NULL)
return hasdegree1(root->lchild)||hasdegree1(root->rchild);
else return true;
}
原文链接:
https://zhidao.baidu.com/question/1670350328412869307.html
https://zhidao.baidu.com/question/1547697416364166867.html
https://developer.aliyun.com/ask/125957?spm=a2c6h.13159736