欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断满二叉树

程序员文章站 2022-03-14 19:29:14
...

判断满二叉树,递归
1.空树,满
2.左满右满,且左右深度相等,满
3.否则,非满

bool isfull( bitree t){
 if(!t) return true;
 int ldepth,rdepth;
 ldepth=depth(t->lchild);
 rdepth=depth(t->rchild);
 if(isfull(t->lchild)&&isfull(t->rchild)&&ldepth==rdepth) 
  return true;
 return false;
}
int depth( bitree t){
 if(!t) return 0;
 int ld,rd,d;
 ld=depth(t->lchild);
 rd=depth(t->rchild);
 d=1+ld>rd?ld:rd;
}

或者:

bool isfull(bitree t,int &depth){ 
 int ldepth,rdepth;
 if(t==null){ 
  depth=0;
  return true;
 }
 if(isfull(t->lchild)&&isfull(t->rchild)&&ldepth==rdepth){
  depth=ldepth+1;
  return true;
 }
 return false;
}
相关标签: 二叉树 递归