vlambda博客
学习文章列表

数据结构 设计算法,统计一棵二叉树中值大于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