1.层次遍历

前提:二维数组存放的树。

层次遍历用queue,先定义一个Q,把root加入其中,访问过root后再把跟下面的节点加入到队列Q中,把root踢出去,依次进入循环。

queue<int> Q;
Q.push(root);  //初始化
while(!Q.empty())
{int size=Q.size();for(int i;i<size;i++)   //遍历Q中的每个元素{int num=Q.front();for(int j;j<mp[num];j++)   //遍历每个元素中的下一个节点{Q.push(j);}Q.pop();}}

2.先序,中序,后序遍历

PAT-甲级之树遍历问题的总结相关推荐

  1. PAT甲级-二叉树的遍历-1102 Invert a Binary Tree解题思路

    1102 Invert a Binary Tree (25 分) 思路 翻转二叉树 后序遍历翻转即可,由于给出每个结点的左右儿子,所以这里用到二叉树的静态写法更加方便 这里有个坑,bool数组初始化为 ...

  2. PAT甲级1155 Heap Paths (30 分):[C++题解]堆、堆的遍历、树的遍历、dfs输出路径、完全二叉树建树

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 堆首先是完全二叉树,所以先建完全二叉树,由于给定的是层序遍历的数据,所以直接用数组即可,注意数组下标从1开始,这样便满足结点u和左儿 ...

  3. PAT甲级1004 Counting Leaves (30分):[C++题解]树、邻接表存储树、dfs遍历树

    文章目录 题目分析 题目链接 题目分析 题意重述:一棵树,求每一层的叶子节点数目. 分析 构造树,使用邻接表来存(相当于存储有向图). 需要一个头结点数组h[N],然后每个头节点往外形成一个单链表e[ ...

  4. PAT甲级1147 Heaps (30 分):[C++题解]堆、树的遍历、dfs、完全二叉树建树

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:给定完全二叉树,判断是否是堆,需要区分大根堆,小根堆.后面是输出后序遍历. AC代码 #include<bits/stdc++. ...

  5. PAT甲级1094 The Largest Generation:[C++题解]邻接表存树、每层节点数量、vector模拟bfs层序遍历、bfs另类实现

    文章目录 题目分析 题目链接 题目分析 来源:PAT网站 题意重述:求一棵树中结点数量最多的层数,并输出最大的数量. 分析:使用邻接矩阵存储树,bool型变量g[N][N] 邻接矩阵,如果有边 置为t ...

  6. PAT甲级1127 ZigZagging on a Tree (30分):[C++题解]之字形层次遍历树bfs实现一层一层读入

    文章目录 题目分析 题目链接 题目分析 分析 给定中序遍历和后序遍历,先建树: 后面就是写一个bfs,层序遍历稍微改改即可. bfs要做的修改是如何一层一层的读入.令根结点是第一层,本题的之字形遍历就 ...

  7. PAT甲级1020 Tree Traversals:[C++题解]树的遍历、由中序序列和后序序列递归建树

    文章目录 题目分析 题目链接 题目分析 题意重述:给定一棵二叉树的后序遍历序列和中序遍历序列,让求层次遍历的序列. 分析: 后序遍历:先 左子树.右子树 ,最后再遍历根结点. 中序遍历:先左子树,再根 ...

  8. PAT甲级1130 Infix Expression:[C++题解]中缀表达式、二叉树中序遍历、dfs

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题是借助中缀表达式这个背景,考察二叉树的中序遍历.本题需要注意的地方是加括号. 左子树和右子树无脑加括号,只要不是叶结点. 所以写d ...

  9. PAT甲级1053 Path of Equal Weight (30分) :[C++题解]dfs求树的路径长度、邻接表

    文章目录 题目分析 题目链接 题目分析 输入样例: 20 9 24 10 2 4 3 5 10 2 18 9 7 2 2 1 3 12 1 8 6 2 2 00 4 01 02 03 04 02 1 ...

  10. PAT甲级1066 Root of AVL Tree (25分):[C++题解]建立平衡树(AVL树)

    文章目录 题目分析 题目链接 题目分析 图片来源:acwing 分析 平衡树(AVL树)是平衡二叉搜索树的简称,当然需要满足二叉搜索树的性质,左子树小于根,根小于等于右子树:然后还要满足平衡树的基本特 ...

最新文章

  1. linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
  2. 阿里云系列——3.企业网站备案步骤---2018-1-4
  3. 动态规划面试常考:最短路径和
  4. 从人工“智障”到人工智能,AI交互还缺什么?
  5. mysql连接查询作业答案_MySQL连表查询练习题
  6. linux gitlab 9 邮件不发送,gitlab无法发送邮件
  7. mysql优化之sakila测试数据库
  8. 专栏 | 是什么成就了中国最具创新力的公司,帮他们的超脑计划孵出阿尔法蛋?...
  9. hive,skynet以及go语言
  10. php按按字符串长度分割,支持中文的PHP按字符串长度分割成数组代码_PHP
  11. cce是什么意思_CCE 是什么
  12. untracked files prevent merge
  13. eclipse 中用svn共享项目
  14. 曾国藩家训:三个地方看一个家庭的兴败
  15. BGP路由技术详解(一)
  16. 这世界就是,一些人总在昼夜不停地运转,而另外一些人,起床就发现世界已经变了。...
  17. ssh登录极路由后台_各品牌路由器登录网址大全 路由器默认用户名/密码
  18. linux7 ppt,Linux_7_.ppt
  19. python解压rar文件(利用unrar)win10下教程
  20. 想快速发表自然语言处理论文?推荐一个出论文的好方向!

热门文章

  1. php多级控制,thinkphp5多级控制器是什么?怎么使用?
  2. php获取工作日时间,ThinkPHP中获取指定日期后工作日的具体日期方法
  3. java同步list_Java集合--ArrayList出现同步问题的原因
  4. SpringCloud微框架系列整体模块梳理
  5. buffernbife会不会对性能有影响
  6. l360清零软件无响应_张店楼顶商业广告全面“清零”!城市“天际线”颜值再刷新...
  7. 基于JAVA+Swing+MYSQL的超市管理系统
  8. mysql1045错误解读_谈谈MYSQL ERROR 1045 错误的解决办法!
  9. ClipDrawable
  10. android studio使用ndk,jni随记