计算一棵二叉树的T中所有双分支结点个数的递归模型
f(T)=0 //若T==NULL
f(T)=f(T->lchild)+f(T->rchild)+1 //若结点T是双分支节点
f(T)=f(T->lchild)+f(T->rchild) //若结点T为单分支节点或叶节点
int DsonNodes(BiTree T){
if(T==NULL){
return 0;
}
else if(T->lchild !=NULL && T->rchild != NULL){
return DsonNodes(T->lchild)+DsonNodes(T->rchild)+1;
}
else{
return DsonNodes(T->lchild)+DsonNodes(T->rchild);
}
}
判断两棵二叉树是否相似
f(T1,T2)=1 //若T1=T2=NULL
f(T1,T2)=0 //两棵树只有一棵为空
f(T1,T2)=f(T1->lchild,T2->lchild) && f(T1->rchild,T2->rchild) //两棵树均不为空