当前位置: 首页 > news >正文

网站怎么做跳转/百度2023免费下载

网站怎么做跳转,百度2023免费下载,女生学java好吗,网站按钮样式创建于:2019.5.25 方一思路: 得到一棵二叉树的 带有空子树标识的层序遍历序列; 从前往后逐个遍历元素,直到找到 空标识; 看 空标识 后的元素是否全是 空标识,全是空标识 则是完全二叉树,不全是空…

创建于:2019.5.25

 

  •   方一

思路:

得到一棵二叉树的 带有空子树标识的层序遍历序列;

从前往后逐个遍历元素,直到找到 空标识;

看 空标识 后的元素是否全是 空标识,全是空标识 则是完全二叉树,不全是空标识则是完全二叉树

 

问题(待解决):

无法实现 得到带有空子树标识的层序遍历序列 的算法,没想到如何将空标识加入到list的适当位置

 

 

  • (网上查的)方二:

思路:

非递归层序遍历的应用:判断二叉树是否是完全二叉树

入队列的时候不用判断节点是否为空,直接入队列;出队列的时候如果front==NULL,停止入队列,判断队列里的元素是否全为NULL,若是则是完全二叉树。

 

问题:

queue.add(null)不合法

* null值不会真的入队

 

代码:

 1 public boolean isCompleteBinaryTree() {
 2         if(this.root==null) {          //空树是完全二叉树
 3             return true;
 4         }
 5         
 6         LinkedQueue<BinaryNode<T>> queue = new LinkedQueue<>();// 空队列
 7         BinaryNode<T> p = this.root; // 根结点不入队
 8         int count = 1;// 已经出队的元素个数
 9         ArrayList preList=this.getPrelist(this.root);//带空标识的前序序列
10 
11         while (p != null) { // 当出队元素为null时,停止继续入队
12             queue.add(p.left);// p的左孩子入队
13             queue.add(p.right);// p的右孩子入队
14 
15             p = queue.poll();
16             count++;
17             System.out.println(p);
18         }
19         System.out.println(count);
20         while (count<preList.size()) {
21             p = queue.poll();
22             count++;
23             if (p != null)
24                 return false;
25         }
26         return true;
27         
28     }

 

修改:(已测试)

 1 /**
 2      * @title: isCompleteBinaryTree
 3      * @description: judge a tree is complete tree or not; use que
 4      * @author: Navis
 5      * @date: May 25, 2019 11:00:31 PM
 6      * @return boolean
 7      */
 8     public boolean isCompleteBinaryTree() {
 9         if (this.root == null) { // 空树是完全二叉树
10             return true;
11         }
12 
13         LinkedQueue<BinaryNode<T>> queue = new LinkedQueue<>();// 空队列
14         queue.add(root); // 根结点入队
15         BinaryNode<T> p = null;
16 
17         while (!queue.isEmpty()) { // 队列不空时
18             p = queue.poll();
19             if (p.left != null) {
20                 queue.add(p.left);// p的左孩子入队
21                 if (p.right != null) {
22                     queue.add(p.right);// p的右孩子入队
23                 } else
24                     break;
25             } else {
26                 if (p.right != null)
27                     return false;
28                 else
29                     break;
30             }
31         }
32         while (!queue.isEmpty()) {
33             p = queue.poll();
34             if (p.left != null || p.right != null)
35                 return false;
36         }
37         return true;
38     }

 

转载于:https://www.cnblogs.com/musecho/p/11201130.html

http://www.lbrq.cn/news/1370629.html

相关文章:

  • dreamweaver 企业网站模板/优化设计答案五年级上册
  • 网站搭建百家号/百度智能云
  • 网站源码怎么打开/企业seo优化
  • 企业网站建设的/小红书怎么推广
  • 珠海七中科技制作/苏州seo服务
  • 企业黄页网站源码/长尾关键词举例
  • 自学网站建设/武汉新闻最新消息
  • 网页站点不安全怎么办/2021国内最好用免费建站系统
  • 常州网上房地产官网/网站优化推广方案
  • 网站管理员要干些什么/什么是seo技术
  • 网站建设的价钱/网站seo排名优化方法
  • 秦皇岛网站制作多少钱/济南网站制作平台
  • 品牌网站建设解决/人工智能培训机构排名
  • php婚庆网站/seo优化的主要任务
  • 做网站需要会的软件/百度云官方网站
  • 石家庄做外贸网站建设/哈尔滨网站优化
  • 福建网站建设费用/seo长尾关键词优化
  • 嘉兴做毛织的有哪些网站/百度公司在哪
  • 建设行业网站/小程序推广运营的公司
  • 徐州学习网站建设/班级优化大师官网登录
  • 搭建网站源码/最近的大新闻
  • 有很多长尾怎么做网站内容/苏州seo安严博客
  • 建设外贸网站多少钱/百度推广代理商赚钱吗
  • 昆明做网站建设的公司排名/成人教育机构排行前十名
  • 南平企业网站建设/爱站网关键词长尾挖掘
  • 滁州网站建设/关键词挖掘网站
  • 网页设计与网站建设过程/百度竞价什么意思
  • 东莞做微网站建设价格/网站友链查询源码
  • 做网站百度还是阿里巴巴好/站长之家ppt模板
  • wordpress单栏主题 极简/重庆seo哪个强
  • Android 之 MVC架构
  • 8.3 滑窗 |栈|阶乘判断
  • 【Android】使用 Intent 传递对象的两种序列化方式
  • Redis学习-----Redis的基本数据类型
  • 正向运动学(Forward Kinematics,简称FK)和逆向运动学(Inverse Kinematics,简称IK)
  • gaussdb demo示例