假设二叉树采用二叉链表存储结构存储,设计一个算法,计算一棵给定二叉树的所有双分支结点(度为2)的结点个数
typedef struct{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//1、孩子数为0: sum=0
//2、孩子数为1:sum=suml+sumr
//3、孩子数为2:sum=suml+sumr+1
int Two_Number(BiTree T){
if(T==NULL)
return 0;
if(T->lchild!=NULL&&T->rchild!=NULL)
return Two_Number(T->lchild)+Two_Number(T->child)+1;
else
return Two_Number(T->lchild)+Two_Number(T->child);
}