L2-006. 树的遍历

时间限制
400 ms

内存限制
65536 kB

代码长度限制
8000 B

判题程序
Standard

作者
陈越

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

输入格式:

输入第一行给出一个正整数N(<=30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。

输出格式:

在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。

输入样例:

7
2 3 1 5 7 6 4
1 2 3 4 5 6 7

输出样例:

4 1 6 3 5 7 2

分析:

这道题和pat l2-004简直就是同一道题目啊...

只不过那题是给你中序和先序...一个意思嘛

在先序或后序中,只要我们知道了左子树或者右子树的范围,我们就可以找到根节点的值,从而在中序中找到根节点的位置,然后递归去做同样的步骤就好啦。层序遍历其实就是bfs啦!用用队列就好了...

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=1e5;
 4 int mid[32], bk[32], tree[maxn];
 5 struct node{
 6     int l, r;
 7 }a[maxn];
 8 int build(int la, int lb, int ra, int rb){
 9     if(la>lb)    return 0;
10     int root=bk[rb];
11     int p1, p2;
12     p1=la;
13     while(root!=mid[p1])    p1++;
14     p2=p1-la;
15     a[root].l=build(la, p1-1, ra, ra+p2-1);
16     a[root].r=build(p1+1, lb, ra+p2, rb-1);
17     return root;
18 }
19 void bfs(int x){
20     int cnt=0;
21     queue<int>q;
22     q.push(x);
23     while(q.size()){
24         int m=q.front(); q.pop();
25         ++cnt==1? cout<<m:cout<<" "<<m;
26         if(a[m].l!=0)
27             q.push(a[m].l);
28         if(a[m].r!=0)
29             q.push(a[m].r);
30     }
31 }
32 int main(){
33     int n;
34     cin>>n;
35     for(int i=0; i<n; i++)
36         cin>>bk[i];
37     for(int i=0; i<n; i++)
38         cin>>mid[i];
39     int root=build(0, n-1, 0, n-1);
40     bfs(root);
41
42     return 0;
43 }

转载于:https://www.cnblogs.com/ledoc/p/6591900.html

l2-006 树的遍历相关推荐

  1. 【CCCC】L2-006 树的遍历 (25分),根据后序与中序遍历建立二叉树(我讨厌树,系列1)

    problem L2-006 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30), ...

  2. mysql 遍历_MySQL 实现树的遍历详解及简单实现示例

    MySQL 实现树的遍历 经常在一个表中有父子关系的两个字段,比如empno与manager,这种结构中需要用到树的遍历.在Oracle 中可以使用connect by简单解决问题,但MySQL 5. ...

  3. 那些妖术——树的遍历

    本文参加CSDN博客大赛,如果你喜欢请投一票,非常感谢! 这个方法有点邪门,和大家在课堂上学的有点不一样,所以blog的名字取得有点邪乎. 一般的程序员应聘技术类的笔试都会有一道题目,那就是树的遍历( ...

  4. LeetCode 589. N-ary Tree Preorder Traversal-多子节点树前序遍历--递归,迭代--反向压栈--C++解法

    LeetCode 589. N-ary Tree Preorder Traversal-多子节点树前序遍历–递归,迭代–反向压栈–C++解法 LeetCode题解专栏:LeetCode题解 LeetC ...

  5. LeetCode总结 -- 树的遍历篇

    遍历树的数据结构中最常见的操作. 能够说大部分关于树的题目都是环绕遍历进行变体来解决的. 一般来说面试中遇到树的题目是用递归来解决的, 只是假设直接考察遍历. 那么一般递归的解法就过于简单了. 面试官 ...

  6. 数据结构 树的遍历(递归遍历)

    //树的遍历--递归遍历 #include<stdio.h> #include<stdlib.h> #include<string.h>typedef struct ...

  7. 数据结构思维 第六章 树的遍历

    第六章 树的遍历 原文:Chapter 6 Tree traversal 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 本章将介绍一个 Web 搜索引擎,我们将在本书其余部分开 ...

  8. 1094 The Largest Generation (25 分)【难度: 一般 / 树的遍历】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805372601090048 很传统的树的遍历. #include< ...

  9. 【数据结构-树】1.树与森林(树的遍历、树的存储方法、并查集的实现)

    树的定义 树是一种数据结构,它是由 n(n>=1)n(n>=1)n(n>=1) 个有限结点组成一个具有层次关系的集合.把它叫做 "树" 是因为它看起来像一棵倒挂的 ...

  10. 【2019暑假刷题笔记-树的遍历】总结

    关于树这一块,前期没有做一个学习的绪论,因为时间来不及了.在总结上回顾一下这些题目的一些特点 树的遍历的是数据结构树这一块中的一部分. 树的遍历和二叉树的遍历本质上相同.二叉树用指针也可以做,但是在考 ...

最新文章

  1. 【Sql Server】DateBase-简单的Select查询
  2. 超融合架构下的数据中心
  3. AndroidWear开发之开发环境[前奏]
  4. 2018.08.10 atcoder Median Sum(01背包)
  5. .net post提交后接收返回数据_Ajax提交表单的方式
  6. scrapy架构解析
  7. 互联网晚报 | 3月19日 星期六 |​ 拼多多回应“六万人砍价不成功”;Netflix计划向分享账号的用户收费...
  8. warning:deprecated conversion from string constant to 'char *' 解决方案
  9. X86逆向教程2:提取按钮通杀特征码
  10. 判断链表是否有环,并找出入环点☆
  11. 设备上的介质簇的结构不正确_环保设备选型参考系列——生化系统之潜水搅拌机【价格】...
  12. python怎么调用函数的返回值_python函数的返回值是什么
  13. MongoDB save()方法和insert()方法的区别
  14. 5G无线系统设计与国际标准 pdf和Word
  15. 宁芝普拉姆键盘说明书以及键盘校验软件
  16. Java 中的 Clone()
  17. 51单片机利用STC-ISP下载软件时串口打开失败怎么办?
  18. 《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort
  19. Android 贪食蛇
  20. 去水印的手机APP哪个好用,怎么一键去水印

热门文章

  1. cygwin This indicates that the /etc/passwd (and possibly /etc/group) files should be rebuilt 问题解决办法
  2. 基于海思开发板的屏幕截图程序(二)
  3. Linux下获得线程ID syscall(224)
  4. Linux 串口编程三 使用termios与API进行串口程序开发
  5. npm eject 暴露webpack报错,less或sass添加报错
  6. React开发(116):ant design search引入
  7. react学习(7)----react转换值同render
  8. [css] span与span之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
  9. 前端学习(2584):ant design pro
  10. 前端学习(1930)vue之电商管理系统电商系统之美化一层循环的UI结构删除业务逻辑实现