ITPub博客

首页 > > > 递归判断完全二叉树

递归判断完全二叉树

作者:zzzhangyi 时间:2019-09-12 15:55:44 0 删除 编辑


完全二叉树的定义是只有最后一行可以不是满的,这一行的所有节点均是从左往右放置的。

现在大部分算法都是BFS的层次遍历,有没有递归的方法的呢?

现在找到的比较接近的递归算法是这样的

 1 bool isFullTree(tree *T)
 2 {
 3     if(T!==NULL){
 4         if(T->rchild!=NULL&&T->lchild==NULL)
 5             return false;
 6         isFullTree(T->lchild);
 7         isFullTree(T->rchild);
 8     } 
 9     return true;
10 }

但是这里的有一个反例,如果是一个深度为3的二叉树,最后一行的2个节点全部在右侧,左侧那棵树在最后一行没有节点的时候,这个算法依旧会判断为完全二叉树。

求解如何修正。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3598/viewspace-3148655/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    133
  • 访问量
    947