求先序排列

由一棵二叉树的中序与后序排列求出它的先序排列 题目链接:https://ac.nowcoder.com/acm/problem/14360 Description 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。 Input 两行,每行一个字符串,分别表示中序和后序排列 Output 一个字符串,表示所求先序排列 Sample Input BADC BDCA Sample Output ABCD Solution 众所周知,二叉树的三种遍历方式 先序遍历:根–>左–>右 中序遍历: 阅读详情

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。

先序排列:根+左子+右子

中序排列:左子+根+右子

后序排列:左子+右子+根

则可知对于一颗二叉树通过后续排列的最后一个结点便是根结点,而通过根节点在先序排列中的位置就能找到左右子树的结点数就能在后序排列中找到左右子树的位置便可找到左右儿子然后继续递归求解

#include<stdio.h>
#include<string.h>
void bui(int x,int y,int x1,int y1);
char a[9],b[9];
int main()
{
	scanf("%s %s",a,b);
	bui(0,strlen(b)-1,0,strlen(a)-1);
	return 0;
}
void bui(int x,int y,int x1,int y1)
{
	int i,ll,lr;
	printf("%c",b[y]);
	for(i=x1;i<=y1;i++)
		if(b[y]==a[i])	break;
	ll=i-x1;lr=y1-i;
	if(ll>0)	bui(x,x+ll-1,x1,i-1); //左右子树非空时递归求解
	if(lr>0)	bui(x+ll,y-1,i+1,y1);
}




P1030 [NOIP2001 普及组] 求先序排列 (约定树结点用不同的大写字母表示,且二叉树的节点个数 ≤8≤8)。从而问题就变成求1.中序遍历ACGD,后序遍历CDGA的树 2.中序遍历HZKX,后序遍历HXKZ的树;那么我们找到中序遍历中的B,由这种遍历的性质,可将中序遍历分为ACGD和HZKX两棵子树,首先,一点基本常识,给你一个后序遍历,那么最后一个就是根(如ABCD,则根为D)。接着递归,按照原先方法,找到1.子根A,再分为两棵子树2.子根Z,再分为两棵子树。共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 阅读详情

相关推荐

从零构建:openEuler WSL下的ARM交叉编译工具链自动化部署方案

本文详细介绍了在openEuler WSL环境下使用Ansible自动化部署ARM交叉编译工具链的方案。通过编写Ansible角色和Playbook,实现从基础环境配置到工具链安装、环境变量设置的一键部署,大幅提升嵌入式开发效率。方案支持多种ARM架构,并扩展了QEMU仿真、VS Code远程开发等实用功能,是嵌入式开发者的高效解决方案。

h3i4j的博客 383

程序基本算法习题解析 给出一课二叉树的中序排列与后序排列,求出它的先序排列。

题目: 给出一课二叉树的中序排列与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度小于或等于8)。要求输入两个字符串,分别是中序排列和后序排列(每行一个字符串)。输出一个字符串,先序排列。 分析: 首先说明一下二叉树的概念。一颗非空的二叉树由根节点及左、右子树这三个基本部分组成。二叉树的遍历有三种常用方式,分别为先序遍历(根节点-&gt;左子树-&gt; 右子树)、中序遍历...

elma_tww的博客 7725

【TestNG自动化测试框架详解】

TestNG是一款设计测试用例执行流程的测试框架。

weixin_43936332的博客 1540

二叉树已知中序和后序排列,求先序排列

题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。 输入格式 22行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出格式 11行,表示一棵二叉树的先序。 输入输出样例 输入 #1复制 BADC BDCA 输出 #1复制 ABCD 说明/提示 【题目来源】 NOIP 2001 普及组第三题 #include<bits/stdc++.h> using namespace st.

m0_61949623的博客 2547

LaTeX新手入门以及TeXlive和TeXstudio的安装使用

作为一个新手,LaTeX的了解和使用很是费了一番功夫,因此,在这里给找不到路的同志们稍微介绍一下。如有错误,敬请指正。本篇内容基于Win10系统,因此安装在Mac或者Linux上的同学可以再找找其他的介绍文章。 目录 LaTeX介绍 LaTeX环境配置 一、TeXlive下载 二、TeXlive安装 1. 安装main installer 2. 正式安装 三、TeXstudio安装...

zywhehe的博客 21万+

自动驾驶仿真(六)—— SIL软件在环仿真测试

自动驾驶仿真六—— SIL软件在环仿真测试1. 在环仿真测试2. SIL软件在环仿真测试2.1 模型配置参数2.2 S function生成实现2.3 结果对比3. 参考学习的书目教材 博主前面的博文已经简要介绍了Carsim、Prescan 与 Simulink 在 “V”型开发流程的一些应用,现今成熟的汽车控制系统软件都是以(Model Based Design,MBD)来开发,它以图形化的方式表达复杂的逻辑、代码可读性、可移植性、开发调试便利程度都大大增强,同时利用成熟的代码生成工具链,也避免了手工代

zhudj08的博客 8655

【NOIP普及组】 求先序排列

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 9704

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 850

Java实现 蓝桥杯VIP 算法训练求先序排列

问题描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。 输入格式   两行,每行一个字符串,分别表示中序和后序排列 输出格式   一个字符串,表示所求先序排列 样例输入 BADC BDCA 样例输出 ABCD 【分析】根据先序,中序,后序的性质,可以知道:后序的最后一个节点一定是先序的第一个节点;知道了根节点,就可以在中序中分割开左子树和...

南 墙 1万+

随机优化 (Stochastic Optimization) 算法详解及案例分析

随机优化是一种用于处理包含随机变量的优化问题的方法。其目标是通过考虑随机变量的概率分布,找到一个在期望意义下最优的解。

闲人编程的博客 4184

英伟达 Jetson AGX Thor 官方入门教程(二)CUDA、Docker、JetPack 设置

本文详细介绍了NVIDIA Jetson AGX Thor开发套件的安装与配置流程。主要内容包括:1) BSP安装的三种方法(Jetson ISO、SDK Manager和Linux刷写脚本)及其适用场景;2) Docker环境的完整配置步骤及测试方法;3) CUDA工具包的两种安装方式(容器化和原生安装)及其性能对比;4) JetPack SDK的安装选项。文章提供了详细的命令行操作指南和故障排除建议,帮助开发者快速搭建AI开发环境,充分发挥Jetson平台的硬件性能优势。

机器人控制与仿真应用 1737

求先序排列(洛谷)

P1030 求先序排列 题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 ≤8。 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出格式: 1行,表示一棵二叉树的先序。 输入输出样例 输入样例#1: BADC BDCA 输出样例#1: ABCD 知识点: 先序排列:首先来了解下什么是先序,中序和后序。在...

Bearing in mind forever! 1243

【GB28181】wvp-GB28181-pro++ZLMediaKit编译安装国标流媒体服务器教程(Windows平台)

本文基于ZMLMediaKit+WVP-PRO在windows平台进行编译部署GB28181平台,网上教程也比较多,都大同小异,实际操作过程中容易出错的地方也比较多:redis安装无密码,mysql安装后密码的修改以及wvp数据可的创建,配置文件侧修改,尤其是和端口相关的项,再就是运行服务时各种错误需要注意,常见的错误已经做了汇总,遇到问题大家不要怕,找到报错的地方查看定位即可。

废人一枚的博客 4479

C++求先序排列

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。给出一棵二叉树的中序与后序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 ≤8)。原文链接:https://blog.youkuaiyun.com/c1239568/article/details/140956544。共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。共一行一个字符串,表示一棵二叉树的先序。

2301_77107915的博客 463

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

牛客:求先序排列

首先后序排列的最后一个字符为根节点,根据此节点找到先序序列中的节点位置,以此节点分割除左子树和右子树2个字符串。先将去掉最后一个字符的后续排列字符串的首地址和右子树的字符串为参数递归调用Recover函数。如果右子树为0则将根节点的右叶子节点置为nullptr;其次将去掉最后一个字符的后续排列字符串的首地址和左子树的字符串为参数递归调用Recover函数。最后返回根节点,进行先序遍历即可。注意:字符串a必须传入首地址,否则a进入递归无法做到每次取出最后一个元素作为根节点,最后构建的二叉树会出现重复节点。

2303_79911146的博客 668

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

P1030 求先序排列

题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。 输入输出格式 输入格式: 22行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出格式: 11行,表示一棵二叉树的先序。 输入输出样例 输入样例#1:复制 BADC BDCA 输出样例#1:复制 ABCD ...

CX的blogs 227

蓝桥杯 算法训练 求先序排列 java

问题描述   给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。 输入格式   两行,每行一个字符串,分别表示中序和后序排列 输出格式   一个字符串,表示所求先序排列 样例输入   BADC   BDCA 样例输出 ABCD 先序遍历:根左右 中序遍历:左根右 后序遍历:左右根 后序遍历的最后一个是二叉树的根节点; import java.u...

遗忘的梧桐树的博客 946

洛谷 求先序排列

给出一棵二叉树的中序与后序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 ≤8)。void dfs(int l1,int l2,int r1,int r2)//中序起点、终点;共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。共一行一个字符串,表示一棵二叉树的先序。代码:类似前面的一道题。

hj2207010104的博客 392

[NOIP2001 普及组] 求先序排列 题解

本文讲解[NOIP2001 普及组] 求先序排列 题解,一道普及−的题。

本人没什么优点,唯一的优点就是有一个优点。 1073

[二叉树]根据中序后序排列求先序排列

【代码】[二叉树]根据中序后序排列求先序排列。

weixin_45413272的博客 265

洛谷 P1030 求先序排列

洛谷 P1030 求先序排列 Description 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8) Input 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 Output 1行,表示一棵二叉树的先序。 Sample Input BADC BDCA Sample output ABCD 题解: 这道题其实是考...

weixin_30809333的博客 149
上一篇: 算法 数的计算 最大公约数和最小公倍数问题
下一篇: 过河卒 深度优先搜索与递推
try_fei_ge
博客等级 码龄10年 31粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值