判断一棵树是否是完全二叉树
来源:互联网 发布:传奇怪物算法 编辑:程序博客网 时间:2024/05/16 05:11
我在网上看过很多方法,都感觉不够简洁,对于初学者不好理解。
这个是上学期做的,非递归。
层次遍历找到二叉树第一个缺口,标记它应该在队列的位置,
遍历结束后比较它是否和队列的尾标相同来判断。(其实到这里如果接下来还有节点就可以结束了)
水平有限,希望和大家交流一下。
int Completree(BiTree p) //判断是否是完全二叉树{ BiTree Q[maxsize]; BiTree t; int f,r,flag,m; flag=0; f=0; r=0; if(p==NULL) return 0; Q[r++]=p; while(f!=r) { t=Q[f++]; if(t->lchild) { if(r>=maxsize) { printf("overflow"); exit(0); } Q[r++]=t->lchild; } else if(flag==0) { m=r; flag=1; //找到第一个叶子节点,记录它的标号。 } if(t->rchild) { if(r>=maxsize) { printf("overflow"); exit(0); } Q[r++]=t->rchild; } else if(flag==0) { m=r; flag=1; } } if (m==r) printf("这是一个完全二叉树\n"); //判断标记与队列尾标是否重合 else printf("这是一个非完全二叉树\n"); return 1;}
0 0
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- ~判断一棵树是否是完全二叉树~
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树
- 判断一棵树是否是完全二叉树。
- 二叉树--判断一棵树是否是完全二叉树
- 判断是否是完全二叉树
- 判断是否是完全二叉树
- 判断是否是完全二叉树
- 判断一颗树是否是完全二叉树
- 判断一棵树是否是完全二叉树【每日一题】
- 数据结构面试题/判断一棵树是否是完全二叉树
- 判断一棵树是否是一个完全二叉树?
- 简评游戏人工智能相关的中文书
- 二、配置微信公众平台回复接口
- Android TextView排版
- Chromium 嵌入式框架
- BZOJ 1502 NOI 2005 月下柠檬树 计算几何 自适应辛普森积分
- 判断一棵树是否是完全二叉树
- Uploadify buttonClass
- 三,验证接口,开始自定义回复等
- [leetcode] Linked List Cycle
- Android数据库高手秘籍(二)——创建表和LitePal的基本用法
- 根据TableViewCell的subviews得到对应的TableViewCell以及NSIndexPath
- Qt5官方demo解析集33——Qt Quick Examples - Window and Screen
- 【记录】char--->CString
- iPhone6分辨率与适配