L2-006 树的遍历 RTA
L2-006 树的遍历(25 分)
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。
输入格式:
输入第一行给出一个正整数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
#include<iostream>
#include<queue>
#include <vector>
#include <cstdio>
using namespace std;
const int N =;
struct Node{
int l,r;
}e[N];
int ba[N],mid[N],qi[N],n;
//la ra 中序
//lb rb 后序
/*
int build(int la,int ra,int lb,int rb){
if (la>ra) return 0;
int rt = ba[rb];
int p1=la,p2;
while(mid[p1]!=rt) p1++;
p2=p1-la;
e[rt].l=build(la,p1-1,lb,lb+p2-1);
e[rt].r=build(p1+1,ra,lb+p2,rb-1);
return rt;
}
*/
//la ,ra 先序
//lb ,rb 中序
int build(int la,int ra,int lb,int rb){
if(lb>rb) return ;
int rt = qi[la];
int p1=lb,p2;
while(mid[p1]!=rt) p1++;
p2=p1-lb;
e[rt].l=build(la+,la+p2,lb,p1-);
e[rt].r=build(la+p2+,ra,p1+,rb);
return rt;
}
/*
//先序输出
void dfs(int rt){
printf("%d ",rt);
if(e[rt].l) dfs(e[rt].l);
if(e[rt].r) dfs(e[rt].r);
} */
/*
//中序输出
void dfs(int rt){
if(e[rt].l) dfs(e[rt].l);
printf("%d ",rt);
if(e[rt].r) dfs(e[rt].r);
}
*/
/*
//后序输出
void dfs(int rt){
if(e[rt].l) dfs(e[rt].l);
if(e[rt].r) dfs(e[rt].r);
printf("%d ",rt);
}
*/
/*
//层序输出
void dfs(int s){
queue<int>Q ;
vector<int>ve;
Q.push(s);
while(!Q.empty()){
int u=Q.front();
Q.pop();
ve.push_back(u);
if(e[u].l) Q.push(e[u].l);
if(e[u].r) Q.push(e[u].r);
}
for(int i=0;i<ve.size();i++){
printf("%d%c",ve[i],i==ve.size()-1?'\n':' ');
}
}
*/ int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++) {
scanf("%d",&qi[i]);
}
for(int i=;i<=n;i++){
scanf("%d",&mid[i]);
}
build(,n,,n);
int rt=qi[];
dfs(rt);//根
return ;
}
L2-006 树的遍历 RTA的更多相关文章
- GPTL—练习集—006树的遍历
#include<bits/stdc++.h> using namespace std; typedef int daTp;//datatype typedef struct BTNode ...
- 天梯 L2 树的遍历(已知后序中序求层序)
树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数.第二行 ...
- L2-006 树的遍历 (25 分) (根据后序遍历与中序遍历建二叉树)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805069361299456 L2-006 树的遍历 (25 分 ...
- javascript实现数据结构: 树和二叉树的应用--最优二叉树(赫夫曼树),回溯法与树的遍历--求集合幂集及八皇后问题
赫夫曼树及其应用 赫夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,有着广泛的应用. 最优二叉树(Huffman树) 1 基本概念 ① 结点路径:从树中一个结点到另一个结点的之间的分支 ...
- PTA 7-10 树的遍历(二叉树基础、层序遍历、STL初体验之queue)
7-10 树的遍历(25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数 ...
- 数据结构--树(遍历,红黑,B树)
平时接触树还比较少,写一篇博文来积累一下树的相关知识. 很早之前在数据结构里面学的树的遍历. 前序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍 ...
- YTU 3023: 树的遍历
原文链接:https://www.dreamwings.cn/ytu3023/2617.html 3023: 树的遍历 时间限制: 1 Sec 内存限制: 128 MB 提交: 3 解决: 2 题 ...
- 团体程序设计天梯赛-练习集L2-006. 树的遍历
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历 ...
- leetcode404-----简单的树的遍历
Find the sum of all left leaves in a given binary tree. Example: 3 / \ 9 20 / \ 15 7 There are two l ...
随机推荐
- 一文读懂DDD
何为DDD DDD不是架构设计方法,不能把每个设计细节具象化,DDD是一套体系,决定了其开放性,体系中可以用任何一种方法来解决这些问题,但是如果一些关键问题没有具体方案落地,可能让团队无所适从. 有的 ...
- 【转】LINQ to SQL语句(1)之Where
Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形 ...
- 洛谷P1435 回文字串(dp)
题意 题目链接 回文词是一种对称的字符串.任意给定一个字符串,通过插入若干字符,都可以变成回文词.此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数. 比如 “Ab3bd”插入2个字符后可 ...
- java项目定时任务实现
首先配置spring-context.xml文件 在xmlns 下加如下代码 xmlns:task="http://www.springframework.org/schema/task&q ...
- Android的bitmap和优化
内存管理是个永恒的话题! 内存溢出:就是分配的内存不足以放下数据项序列.如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行.就是你要求分配的内存超出了系统 ...
- ERwin DM Reverse Engineer 逆向工程介绍
介绍内容:利用ERwin DM进行对本地 Oracle 数据库的逆向工程 ERwin DM Version:7.3 ERwin DM 提供两种方式的逆向工程方法,分别是基于脚本文件和基于数据库. 下面 ...
- Python+selenium之截图图片并保存截取的图片
本文转载:http://blog.csdn.net/u011541946/article/details/70141488 http://www.cnblogs.com/timsheng/archiv ...
- SAP CRM和C4C的客户主数据修改历史记录查询
SAP CRM 随便修改一个字段,比如给Search Term维护值"webpack": Change History assignment block里显示出了这条修改记录: 根 ...
- Python面向对象进阶(二)
Python面向对象进阶2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1 ...
- IEDA的安装与破解
百度搜索IDEA 进入官网下载 https://www.jetbrains.com/idea/download/#section=windows 2.下载好双击即可 3. 完成破解