二叉树宽度:使用队列,层次遍历二叉树。在上一层遍历完成后,下一层的所有节点已经放到队列中,此时队列中的元素个数就是下一层的宽度。以此类推,依次遍历下一层即可求出二叉树的最大宽度。
怎么一层一层地分开呢?用一个变量len来记录当前层的结点数,出一个结点就len–,len==0的时候就退出循环,然后又把队列中的节点数赋值给len

 int getWidth(BiNode head) {    if(head==null)    return 0;    int max=1;    LinkedList<BiNode>ll=new LinkedList<BiNode>();    ll.add(head);    while(true){    int len=ll.size();   //获取当前层的节点数 if(len==0)  //队列空,二叉树已经遍历完  break;    while(len>0){    BiNode b=ll.poll();    len--;    出一个结点-1,为0就退循环if(b.left!=null)    ll.add(b.left);    if(b.right!=null)    ll.add(b.right);    }    max=Math.max(max, ll.size());              }    return max;    }  

求树的最大宽度(层次遍历法)相关推荐

  1. Trees on the level UVA - 122 (二叉树的层次遍历)

    题目链接:https://vjudge.net/problem/UVA-122 题目大意:输入一颗二叉树,你的任务是按从上到下,从左到右的顺序输出各个结点的值.每个结点都按照从根节点到它的移动序列给出 ...

  2. 【数学建模学习】matlab实现评价模型——层次分析法(AHP)

    目录 1概述 2算法实现流程 3实例 4matlab实现层次分析法 5计算结果 1概述 层次分析法,简称AHP,是评价模型中的一种算法,指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之 ...

  3. java建树_JAVA实现通过中序遍历和后序遍历序列建树,并求树的高度,用层次遍历做验证...

    作为例子的树长这样: package bstpractice; import java.util.ArrayList; import java.util.Arrays; import java.uti ...

  4. 树的基本概念和遍历规则 数据结构和算法 二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)

    zsychanpin 博客园 首页 新随笔 联系 订阅 管理 树的基本概念和遍历规则 树的递归定义 树是n(n>0)个结点的有限集,这个集合满足下面条件:       ⑴有且仅有一个结点没有前驱 ...

  5. (伪代码)树的前中后遍历和层次遍历算法实现(考研适用,递归和非递归)

    文章目录 前言 一.递归实现树的遍历 二.非递归实现 层次遍历 总结 前言 2022考研初试结束,总结了一些考研中基本常用算法.这篇主要是关于树的前中后遍历,递归实现和非递归实现两种,现在很多自命题在 ...

  6. 二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现

    一.基本概念 每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒. 性质: 1.非空二叉树的第n层上至多有2^(n-1)个元素. 2.深度为h的二叉树至多有2^h-1个结点. 满二叉树:所有终端都 ...

  7. 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历. Input 输入数据有多组,第一行是一个整数t (t<100 ...

  8. 数据结构 | 第十一章:二叉树和其他树 | 【前序遍历】【中序遍历】【后序遍历】【层次遍历】 | 并查集

    第5-10章:线性结构,元素之间存在线性次序(线性表.数组与矩阵.栈.队列.跳表和散列表 第11-15章:层次结构(二叉树和树.优先队列.竞赛树.搜索树) 文章目录 11.1 树 11.2 二叉树 1 ...

  9. LCA倍增法 求树的最近公共祖先(模板)

    LCA倍增法 求树的最近公共祖先 查询树上任意两个节点之间的路径信息,实际上就是找这两个节点的LCA,因为唯一路径就是这两个节点分别到LCA会合,所以关键问题就是求LCA,需要的路径信息可在找LCA过 ...

最新文章

  1. [地球人]BlogEngine.NET[Appwo.com版]+采集器
  2. 全国计算机等级考试题库二级C操作题100套(第30套)
  3. HttpClient官方sample代码的深入分析(连接池)
  4. python中字符串:声明、编码、函数、格式化
  5. mysql5.7延迟_[MySQL] 号称永久解决了复制延迟问题的并行复制,MySQL5.7-阿里云开发者社区...
  6. Nginx 服务器安装及配置文件详解
  7. hysys动态模拟教程_hysys动态模拟介绍
  8. 基于多输入模型及句法结构的中文评论情感分析方法
  9. 利用AFD进行播出级的自动幅型比控制
  10. 湖北大学98届计算机网络,我校学子在“H3C”杯全国大学生网络技术大赛中获一等奖...
  11. 进化算法的产生与发展
  12. 2.1.1.15使用WIFI网卡1_准备工作及配置内核
  13. 直击|知乎App增加视频回答入口 视频流归到问题下
  14. ramdisk文件系统的介绍与制作
  15. Access 密码破解原理- -
  16. 吉林警察学院计算机录取分,2017年吉林警察学院录取分数线
  17. C++打印之字形矩阵
  18. 区块链与人工智能技术融合 AI复制人类智能
  19. WPS 如何设置表格内文字段落
  20. aix oracle timed out ora-03113,ORA-03113 ORA-16072 错误

热门文章

  1. Android高级特性笔记
  2. 王者荣耀KPL秋季赛总决赛预测(AG VS DYG)
  3. 大学高数常微分方程思维导图_高等数学各章节知识点框架 常微分方程.pdf
  4. 西门子em235模块的功能_多图细讲,模拟量模块与变送器的接线
  5. oppo计算机锁屏快捷键,电脑如何快速锁屏
  6. Civil3D2018-01使用配置
  7. 如何使用python编程抢京东优惠券 知乎_小猿圈Python之实现京东秒杀功能技巧
  8. Centos6.8系统镜像下载
  9. liunx 红帽6.8、 oracle11g 安装指南
  10. Ubuntu Qt项目编译提示 cannot find -lGL