poj2255Tree Recovery(二叉树,递归)

poj_2255_Tree Recovery_解题报告 题目出处 题意:输入两组数据,分别是前序遍历序列和中序遍历序列,你需要编写程序通过这两组数据求出该树的后序遍历序列(前序序列 + 中序序列 = 后序序列) 解法:递归 题目分析: 可以先按照用笔和纸的形式去推导出后序序列。推导过程省略,在推导过程中我们会发现规律: 假设 前序序列是 A B E H F C G I  中序序列是 H E B F A C I G (图如下) 每一 阅读详情

点击打开原题链接

Tree Recovery
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 14027 Accepted: 8760

Description

Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters in the nodes.
This is an example of one of her creations:
                                               D

                                              / \

                                             /   \

                                            B     E

                                           / \     \

                                          /   \     \

                                         A     C     G

                                                    /

                                                   /

                                                  F


To record her trees for future generations, she wrote down two strings for each tree: a preorder traversal (root, left subtree, right subtree) and an inorder traversal (left subtree, root, right subtree). For the tree drawn above the preorder traversal is DBACEGF and the inorder traversal is ABCDEFG.
She thought that such a pair of strings would give enough information to reconstruct the tree later (but she never tried it).

Now, years later, looking again at the strings, she realized that reconstructing the trees was indeed possible, but only because she never had used the same letter twice in the same tree.
However, doing the reconstruction by hand, soon turned out to be tedious.
So now she asks you to write a program that does the job for her!

Input

The input will contain one or more test cases.
Each test case consists of one line containing two strings preord and inord, representing the preorder traversal and inorder traversal of a binary tree. Both strings consist of unique capital letters. (Thus they are not longer than 26 characters.)
Input is terminated by end of file.

Output

For each test case, recover Valentine's binary tree and print one line containing the tree's postorder traversal (left subtree, right subtree, root).

Sample Input

DBACEGF ABCDEFG
BCAD CBAD

Sample Output

ACBFGED
CDAB
题目大意 :给出二叉树的先序遍历和中序遍历求二叉树的后序遍历。
解题思路:关键是找根,先序遍历的第一个节点就是根,利用这个根可以在中序遍历中将字符分成两个子树,输出根,递归求解。
#include
  
   
#include
   
    
using namespace std;
#define MAX 10000
char a[MAX],b[MAX];
void build(int n,char *a,char *b){
	if(n<=0)return;
	else{
		int p=strchr(b,a[0])-b;
		build(p,a+1,b);
		build(n-1-p,a+p+1,b+p+1);
		printf("%c",a[0]);
	}
}
int main(){
	
	while(scanf("%s %s",a,b)!=EOF){
		int n=strlen(a);
		build(n,a,b);
		printf("\n");
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
	}
}
   
  

BSW: Dcm模块配置--28服务 这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。 阅读详情

相关推荐

TwinCAT报SSE invalid operation错误

错误类型 TwinCAT程序中报出以下错误: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 **** 383 ms | 'Port_851' (851): Exception (Exception Code: 0xc0000090, SSE invalid operation) in PLC Application Untitled1 Instance, Task PlcTask (RBP: 0xffffb3016c80ecc0, RIP: 0xffffe708ee5b5f53, RSP:

akadiao的博客 4161

使用ant-design-vue(select)遇到的问题,解决重置之后清空值

当你的select-option是循环出来的时候,你点击清空以后这个值是不会清空的,当你使用组件自带的api – allowClear的时候,你会发现清空以后是undefined,所以当你清空的时候,你可以在select标签上使用v-model。 <a-select v-model="year" allowClear @change="changeYear" placeholder="请选择检查年份"> <a-select-option v-for="(item,index) in

早晚的博客 1万+

【项目分享】RailTracker: 火车票务数据采集与分析

从12306使用爬虫爬取火车站及车次信息、火车票价 通过本项目,我们将带领访问者手把手完成火车票数据采集、数据清洗、数据集成、可视化的一整个流程!

zhushatong的博客 3345

antdesign vue tree 重置后 默认选中值的背景颜色未选中

antdesign vue tree 重置后 默认选中值的背景颜色未选中

weixin_49066399的博客 4116

2025年春科研论文写作指导(如何写好科研论文)研究生网课期末考试

希望能帮助到大家

beijieweiyu的博客 5789

mcgs数据导出到U盘

mcgs触摸屏在工业中应用还是很多的,尤其他的脚本功能策略功能等将开放性放到了最大,让用户可以根据实际需求进行自由创作,正因为这样,对一些初学者就不是很友好,初学者想要简单操作就能实现功能,但是mcgs不可能两者兼备,在做工业设备,一些数据的采集保存就比较常见,但是mcgs没有相关按钮能够直接实现将数据导出到U盘的功能。这里我给大家讲解关于mcgs将报警历史记录、日志记录、历史数据记录导出到U盘的方法。

qq_24866535的博客 6233

POJ 2255 Tree Recovery【二叉树重建】

Description Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters in the nodes.This is an example of one of...

weixin_34059951的博客 526

计算机控制液压同步顶升系统,PLC四点多点同步顶升系统,同步液压顶升系统

PLC同步顶升系统系统可分为5个部分:液压泵站、PLC计算机控制系统、液压终端、位移压力检测与人机界面操作系统,位移同步精度1mm,同步控制点数:4,8,12,16,20,40,80,99;产品特点:高速置零、低速顶升,升降速度可以任意控制;液压千斤顶内置式(或外置)位移、压力传感器、均载阀,保证了顶升系统在恶劣工作环境下的高可靠性;均载阀的过载保护功能,避免了多缸顶升时常见的胀缸事故;先进的进油...

weixin_30093045的博客 1434

POJ总结(2255)

POJ总结(2255)知识点复习:这个题目主要是树的遍历问题。即给出树的先序和中序遍历,输出树的后序遍历。这是一道很基础的题目,但是很久没有涉及到过了,总结一波。1.先序、中序、后序遍历:这三个很容易理解,命名分别是根据什么时候读取根节点来判断的。先序即为根节点、左子树、右子树;中序即为左子树、根节点、右子树;后序即为左子树、右子树、根节点。2.左子树和右子树依然按照1中所述的规则进行遍历。

leeham的博客 339

【TC397第2篇】TC397 EB MCAL开发指南:ADS MCAL Demo集成深度解析

通过本文的指导,我们完成了TC397 EB MCAL与ADS的深度集成,并成功运行了一个简单的MCAL Demo。这个案例不仅帮助我们理解了MCAL在实际开发中的应用,同时也展示了ADS作为一个强大的开发工具在嵌入式系统开发中的优势。在接下来的系列文章中,我们将进一步探讨MCAL的高级应用、优化技巧以及更多实用的开发案例。敬请关注,共同探索TC397 EB MCAL开发的更多精彩!

一直在水些技术小文 452

C#量化交易的市场数据采集与分析:从0到1构建你的‘数据雷达’——对比5大神器,代码实战全解析!

数据是量化交易的‘氧气’,而好的数据采集与分析是你的‘呼吸机’!本文5大神器+代码实战,总有一款适合你!(本文代码均经过测试,但请根据实际需求调整!

java专栏 730

POJ 刷题系列:2255. Tree Recovery

POJ 刷题系列:2255. Tree Recovery传送门:POJ 2255. Tree Recovery题意: 给出先序和中序,求后序。 思路: 依旧很水,给定先序易知根结点,从中序中找到根结点就能确定左孩子们和右孩子们,递归建树。最后后序遍历一遍即可。代码如下:import java.io.BufferedReader; import java.io.File; import java

Demon-初来驾到 504

室内无线传播损耗分析与传播模型验证课程设计

室内无线传播损耗分析与传播模型验证课程设计

a_zxswer的博客 187

Poj 2255-Tree Recovery//二叉树,递归

这道题思路很简单,但是不好写递归!自己的递归思想弱爆了。     每次将先序和中序分为两个部分,一个是左子树,一个是右子树。不断的递归到结束为止!     下面是代码:     #include #include #define MAXN 100 char s1[MAXN],s2[MAXN],s[MAXN]; void rebuild(int n,char *s1,char *s2,char

mr_zys的专栏 547

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

POJ 2255 Tree Recovery 二叉树+遍历+递归

【题意简述】:此题大概意思就是给你一颗二叉树的前序遍历序列和一棵树的中序遍历序列,现在让你求出这棵树的后序遍历序列。 【思路】:最近老师 让我们做这道题,遂来解题。了解题意后不难建立解题思路,我的想法是这样的由前序和中序可以构建此树,然后输出此树的后序遍历序列便不是问题。但如果我们知道后序序列的特征(顺序是这样的:1、后序遍历根节点的左子树;2、后序遍历根节点的右子树;3、访问根节点),就可以直

坚持 788

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

POJ 2255 Tree Recovery

POJ 2255 Tree Recovery 模板题 #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;string.h&gt; using namespace std; #define maxn 50 char str1[maxn],str2[maxn]; int getm(char ch) { for(i...

博学 笃志 切问 近思 197

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

二叉树的重建——POJ2255 Tree Recovery之篇2

继POJ2255之后纠结了很久。。,看了某本书后对于二叉树有了新的更深一点的认识。。。。   对于二叉树T,可以递归定义它的前序遍历、中序遍历和后序遍历如下: PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树); InOrder(T)=InOrder(T的左子树)+T的根节点+InOrder(T的右子树); PostOrder(T)=Pos

155

空调选购指南:从能效比到舒适性,揭秘真正省电的三大核心

在选购家电时,能效比和变频技术是衡量产品性能与节能效果的基础指标。能效比反映了设备将电能转化为制冷/制热能力的效率,而变频技术通过调节压缩机转速实现精准控温,避免了传统定频空调频繁启停带来的能耗峰值。这些技术的核心价值在于显著降低长期使用成本,同时提升使用舒适度。在空调等大家电的应用场景中,硬件配置、智能控制算法与用户使用习惯共同构成了节能系统工程。本文以具体产品为例,深入剖析了全直流变频和电子膨胀阀等关键硬件如何协同工作,以及智能算法如何优化运行逻辑,从而实现真正的“超省电”体验。

weixin_33841503的博客 323

poj2255 Tree Recovery 二叉树遍历

题目链接:http://poj.org/problem?id=2255 题目大意:       题目中给出一个二叉树的前序遍历和中序遍历,输出这个二叉树的后序遍历。二叉树中的结点是大写英文字母,最多有26个结点。   解题思路:     这道题涉及到一种重要的数据结构——二叉树,题目很简单,但是考查了对二叉树的遍历的理解。二叉树,顾名思义,就是每一个结点都有两个子结点的树。二叉树

君子务本 1014

POJ2255-Tree Recovery

全解题报告索引目录 -> 【北大ACM – POJ试题分类】 转载请注明出处:http://exp-blog.com ------------------------------------------------------------------------- 提示:二叉树遍历而已。。。给出前序和中序,求后序 /* Author: Exp...

ζёСяêτ - 小優YoU 6350

POJ 2255 Tree Recovery(已知前序&中序,求后序)

1. 题目链接:http://poj.org/problem?id=2255 2. 题目大意: 给定二叉树的前序和中序序列,输出其后序序列 3. 思考过程: 4. AC代码 /** * @description: 给出前序和中序二叉树节点序列,求后序二叉树节点输出序列 * @author: michael ming * @date: 2019/5/21 18:49 * @modifie...

Michael是个半路程序员 1176

POJ 2255 Tree Recovery

二叉树的遍历,给出前序和中序遍历,输出后序遍历。

笨鸟 888

POJ2255(Tree Recovery)二叉树的重建

题目来源: http://poj.org/problem?id=2255 题目: Description Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters i...

weixin_44606952的博客 248

Poj 2255 Tree Recovery【dfs遍历树】

Tree Recovery Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13448   Accepted: 8393 Description Little Valentine liked playing with binary trees very much

希望的专栏 987

POJ 2255 Tree Recovery(递归)

Tree Recovery Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17733 Accepted: 10864 Description Little Valentine liked playing with binary trees very much. Her favorit...

baymax__dabai的博客 432
上一篇: poj3006Dirichlet's Theorem on Arithmetic Progressions(筛素数法)
下一篇: poj3094Quicksum(水题)
luckcircle
博客等级 码龄10年 13粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值