测试一棵二叉树是否为完全二叉树
来源:互联网 发布:上海大学网络教学中心 编辑:程序博客网 时间:2024/05/15 05:38
完全二叉树的定义我就不说了,可以去百度,这里的思想是,在检测到某节点A的左孩子或者右孩子为空后将标志位置0,如果在这之后又检测到其他节点左孩子或者右孩子非空,那么就可以判断这不是一棵完全二叉树。为了达到从上到下,从左往右的扫描顺序,我们使用层次遍历。代码如下
/** * 检测一棵树是不是完全二叉树 * 这里采用层次遍历在遍历到某节点的子节点空时将flag置为0,之后若有其他节点的子节点存在则返回false * @param node * @return */ public boolean checkIfCompleteTree(Node node){ Node[] queue=new Node[255]; int tail=0; int head=0;//队头指针与队尾指针 Node p=node; int flag=1; if(p!=null){ queue[tail++]=node;//将节点加入队列中 while(head!=tail){ //即队不空 Node temp=queue[head++]; if(temp.left!=null){ if (flag==0) return false; else{ queue[tail++]=temp.left; } } else{ flag=0; } if(temp.right!=null){ if(flag==0){ return false; } else{ queue[tail++]=temp.right; } } else{ flag=0; } } } return true; }
0 0
- 测试一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否为搜索二叉树、完全二叉树、平衡二叉树(java)
- 通过队列实现判断一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否是完全二叉树
- 判断一棵二叉树是否是完全二叉树
- 判断一棵树是否为一颗完全二叉树
- 二叉树镜像(递归和非递归)+ 判断一棵二叉树是否是平衡二叉树+ 判断一棵树是否为完全二叉树
- 检查一棵二叉树是否为二叉查找树
- 判断一棵二叉树是否为平衡二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- day初学补充
- UIButton,UITextField
- poj 3984 迷宫问题
- 然而Foreach并不是这样的
- POJ1087(网络流,二分图匹配)
- 测试一棵二叉树是否为完全二叉树
- 安全驾驶-注意交通提示牌(二十)
- win7下安装sql2000的创建表
- AVAudioPlayer 播放本地音乐
- Yii代码目录结构
- post 数据 乱码 中文
- WinForm窗体中多个单选按钮单选的“最简单”实现
- 7月28日----反射、注解
- 3 IoC容器的依赖注入(1)