数据结构-后序中序

2023-11-01

PTA–后序中序遍历给出先序结果

根据要求给定一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。

输入格式

positive integer N(<=30),表示树中节点的个数。随之而来的是两行遍历序列,分别对应后序遍历和中序遍历结果。输入以空格分离,且题目保证输入序列为一颗正确的二叉树。

输出格式

Preorder:后接先序遍历结果。

输入样例

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

输出样例

Preorder: 4 1 3 2 6 5 7

问题关键:

理解遍历序列产生的细节。后序遍历是RNL,中序遍历是NLR,这两段序列的分水岭就是根节点了。为便于行文,后序以post代之,先序以in代之。看in,1为根节点,则左右子树便可窥一斑。而本体的关键就在于如何重构BinTree 函数,具体实现参见下列代码。

解决方案:

#include<stdio.h>
#include<stdlib.h>
#define MaxN 1001
typedef int ElementType;
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{    
	ElementType Data;
	BinTree Left;    
	BinTree Right;
};

BinTree C
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构-后序中序 的相关文章

  • win7下面怎么安装Active Directory

    可以先安裝下面補丁 網上可下載 可區分簡體 繁體版 Windows6 1 KB958830 x64 RefreshPkg msu Windows6 1 KB958830 x86 RefreshPkg msu 下面提供方法 1 根據環境選擇所
  • 深度优先遍历(Depth-First Search, DFS)和广度优先遍历(Breadth-First Search, BFS)

    深度优先遍历 DFS 问题1 什么是深度优先遍历 DFS 答案 深度优先遍历是一种用于遍历树或图的算法 它从根节点 或其他起始节点 开始 首先探索尽可能深的分支 然后回溯并继续探索其他分支 它通常使用递归或栈来实现 问题2 如何实现深度优先
  • C++ vector容器-45-vector互换和节省空间和预留空间

    这篇来学习vector一个互换操作 也就是有两个vector对象 可以通过一个api 把两个对象互换过来 实际上 就是在内存中交换了对象的指针 原来的指针指向新的vector对象 这种交换有时候是很有必要 特别是匿名vector对象进行交换
  • UE4蓝图系统详细讲解

    关于UE4蓝图系统原理可以参考 UE4编辑器进阶 里面清楚的讲解了关于编辑器开发所涉及到的知识点 比如蓝图开发 虚拟机开发 蓝图编译 反射数据 序列化字节码等
  • 解决Mac安装Homebrew失败

    首先使用Homebrew官网的安装shell命令安装 bin bash c curl fsSL https raw githubusercontent com Homebrew install HEAD install sh 会出现如下错误
  • JSON.stringify()和JSON.parse()应用场景

    前言 JSON stringify 将对象 数组转换成字符串 JSON parse 将字符串转成json对象 应用场景 1 a 浏览器创建 获取 sessionStorage localStorage 数组内容 b 路由 浏览器地址 传参
  • 如何新建一个duilib项目(手把手创建)

    如何新建一个duilib项目 duilib示例项目下载 0积分下载 1 创建项目目录 在桌面上新建一个文件夹 MyDuilib 用来做我们项目的根目录 2 创建一个Win32项目 1 打开VS2013 新建一个 Win32项目 项目目录选择
  • uniapp运行到小程序之无法启动

    创建了一个uniapp项目 要求是在H5以及小程序都可运行 H5端很容易实现 那么我们来一起探讨小程序遇到的问题 首先 HbuilderX运行到微信小程序 前提是要安装微信开发者工具 来模拟手机上的小程序情景 运行报错 原因是微信小程序工具
  • 国产WMS仓库管理系统排名

    导读 WMS仓库管理系统是通过入库业务 出库业务 仓库调拨 库存调拨和虚仓管理等功能 对批次管理 物料对应 库存盘点 质检管理 虚仓管理和即时库存管理等功能综合运用的管理系统 可以有效控制并跟踪仓库业务的物流及成本管理的全过程 实现或完善企
  • 学习笔记 JavaScript ES6 Webpack核心概念

    学习内容 入口 entry 出口 output Loader 插件 plugin 模式 mode ES6 新特性的语法是无法被浏览器所识别的 浏览器只能识别ES5的语法 所以ES6 需要使用一个工具 把语法转化为ES5的语法 这个工具就是B
  • MyBatis3框架详解(四)

    一 select元素 select标签元素是用来定义查询操作的 id属性 唯一标识符 用来引用这条语句 需要和接口的方法名一致 parameterType属性 参数类型 可以不传 mybatis会根据TypeHandler自动推断 resu
  • 计算机网络3—网络层

    IP报文的格式和各个字段的含义 掌握IP分片 如何避免IP分片 在应用层做限制 在传输层做限制 如何确定分片顺序 接收端如何确定所有分片都到了 IP线路 路由表 路由表每个字段的含义 ICMP协议 查询 报错 ICMP协议的层次和作用 IC
  • java异常NoClassDefFoundError

    这个问题错误原因众多 如下是我在解析数据时遇到的问题并附上解决方法 遇到这样的问题 java lang ClassNotFoundException serialization Serializer 提示没有找到定义的Class 查看各个文
  • win下安装nextcloud_在 Windows 平台下搭建docker - nextCloud 个人云盘

    一直感觉放在百度网盘里面的数据很不安全 因为之前因为存一些技术教程被封过号 再也没活过来 正巧赶上盘当劳事件 手里还有闲置硬件资源 终于下定决心自己搭建一个 NAS 来用了 先挂载到本地磁盘中 因为我们不想因为存储的数据随着容器的删除而消失
  • 机器学习之数据准备

    1 数据预处理的理由 在开始训练机器学习的模型之前 需要对数据进行预处理 这是一个必须的过程 不同算法对数据有不同的假设 需要按照不同的方式转换数据 这样做的目的是为了提高模型的准确度 2 数据转换的方法 调整数据尺度 正态化数据 二值数据
  • oracle libcpt ora,Oracle12c R2注意事项: Active DataGuard logon fail with ORA-00604& ORA-04024

    这是一套12c R2 4 nodes Oracle RAC on RHEL 7的环境 已安装0417 RU 该库有一套Phyical DataGard 同时也是GoldenGate的target端 存在一个replicat 进程同步数据 一
  • C++类模板

    类模板和函数模板语法相似 在声明模板template后面加类 此类称为类模板 类模板作用 建立一个通用类 类中的成员 数据类型可以不具体制定 用一个虚拟的类型来代表 语法 template
  • scanner hasnext方法的结束输入

    先看一段经典的程序 import java util Scanner public class aplusb public static void main String args Scanner in new Scanner System
  • ubuntu 18.04 中 编译 FasterTransformer,与缺少安装包

    前提 A100 cuda 11 6 cudnn8 nccl zlib1g dev git clone recursive https github com NVIDIA FasterTransformer git git submodule
  • 【转】svn详解

    转自 svn status详解 世界 太精彩 博客园 svn 是在提交前查看本地文本和版本库里面的文件的区别 返回值有许多种具体含义如下 L abc c svn已经在 svn目录锁定了abc c M bar c bar c的内容已经在本地修

随机推荐

  • python+pyqt5设置窗体图标和任务栏图标及窗体标题的方法

    本次设置窗体标题只用了一种方法 在进行窗体实例化后window Window 使用setWindowTitle str 命令 在主程序中的设置命令如下所示 if name main QApplication setAttribute Qt
  • lab4

    这一个lab主要学习进程管理和进程通讯 come on 好好学习 PART A 多处理器支持 Exercise 1 void mmio map region physaddr t pa size t size Where to start
  • 18虚幻4【UE4】 中场景中的N个actor赋予随机颜色

    问题 现在1000个静态网格体要附上随机颜色的材质 难道我们要写1000中材质 然后附上去吗 一 思路 获取场景中物体 创建材质实例 修改材质参数 通过get actors with tag也好 通过get actors of class也
  • 51单片机 IIC OLED屏幕驱动+Proteus仿真+实物验证示例程序

    51单片机 IIC OLED屏幕驱动 Proteus仿真 实物验证示例程序 Proteus仿真效果 注意点击运行仿真后 图像刷新出来比较慢 示例主程序 include REG51 h include oled h include bmp h
  • QT获取mysql数据库驱动步骤记录-版本QT_5.12.5-附精华链接

    首先先检查自己的QT已经加载的数据库版本 qDebug lt
  • ARM架构的外部中断介绍(S5PV210芯片)

    1 外部中断介绍 1 中断源的划分 内部中断和外部中断 所谓内部中断和外部中断 是根据中断源来自Soc内部还是外部 1 比如串口 定时器等都是Soc内部自带的 所以触发的中断都是内部中断 2 给Soc外接一个烟雾报警器 通过GPIO引脚和S
  • 关于移动端H5使用xhr上传文件

    首先我是用的是uniapp框架 所以以下内容皆以此未前提 我是第一次用uniapp 所以有些地方也不太熟悉 比如在写h5时 页面上的input的type写成file时页面上没有效果 查看官方文档后知道 需要使用js 插入一个input标签
  • Go语言学习(八)-- Gin入门

    Gin 是一个 Go Golang 编写的轻量级 http web 框架 运行速度非常快 Gin 最擅长的就是 Api 接口的高并发 如果项目的规模不大 业务相对简单 这个时候我们 也推荐您使用 Gin 当某个接口的性能遭到较大挑战的时候
  • js逆向实战案例集目录

    一 js逆向基础篇 js逆向之字体加密 js逆向webpack篇 某电商网站 拼xx js逆向基础篇 某房地产网站 登录 js逆向基础篇 某音乐网站 xx音乐 js逆向之猿人学 反混淆刷题平台第一题 手把手教学 js逆向验证码篇之某程 智能
  • react 创建sass router mobx项目

    尽量不要再vscode中安装依赖推荐使用gitbash 创建项目第一步 基本搭建 git 在创建之前 需要有一个git 仓库 我们之后要把项目搭建到git 中 node版本 查看node 版本 node v v14 15 3 为了保证同步
  • CUDA Vector Add Test 2048x1024

    1 include cuda runtime h CUDAVectorAdd cu 2 include device launch parameters h 3 include IML PrecisionTimer h 4 5 includ
  • 【笔记】Git及Github使用

    目录 Git概述及安装 Git常用命令 设置用户签名 姓名和邮箱地址 gitconfig 初始化本地库 查看本地库状态 本地文件添加到暂存区 提交本地库 形成历史版本 修改文件 历史版本信息 版本穿梭 回溯历史版本 查看当前本地库中所有文件
  • canvas清空画布方法

    1 最简单的方法 由于canvas每当高度或宽度被重设时 画布内容就会被清空 因此可以用以下方法清空 function clearCanvas span style font family none span var c document
  • mysql 存储引擎 原理_【MySQL—原理】体系结构和存储引擎

    在数据库领域中有两个词很容易混淆 这就是 数据库 database 和 实例 instance 作为常见的数据库术语 这两个词的定义如下 数据库 物理操作系统文件或其他形式文件类型的集合 实例 数据库管理程序 MySQL数据库由后台线程以及
  • 【狂神】MySQL - 连表查询 Join On 详解

    1 连表查询详解 市面上有 7 种连表查询 总共归为三大类 左查询 LEFT JOIN 以左表为基准 右查询 RIGHT JOIN 以右表为基准 交叉查询 INNER JOIN 查询两表都有的数据 操作 描述 inner join 如果表中
  • ajax嵌套的场景有哪些,ajax嵌套

    一 ajax嵌套ajax 传说中的嵌套金字塔 以及这种方式只能串联发起ajax请求 function getDataFun ajax url equip rank type GET dataType jsonp success functi
  • Qt之键盘事件无法响应问题

    Qt之键盘事件无法响应问题 概述 代码 over 文末一句话 概述 新公司的加班第一天 在调试公司项目代码时发现个小问题 鼠标 键盘事件都已写好 但是键盘事件无效无法进入断点 接来下去查文档并没有查到相关说明 翻阅百度翻到如下代码 并进行测
  • 配置文件文档

    Tranquilpeak Version 0 5 3 BETA Author Thibaud Lepr tre I STRONGLY recommend you to use a CDN to speed up loading of pag
  • Linux驱动入门(6.1)LED驱动---设备树

    前言 1 在韦东山Linux驱动入门实验班 5 LED驱动 驱动分层和分离 平台总线模型我们已经讲解了如何将驱动程序和硬件程序进行剥离 但是大佬们感觉这样还不行 他们认为要专门弄一个结构存储硬件信息 而不是用c文件存储 于是 大佬们就发明了
  • 数据结构-后序中序

    PTA 后序中序遍历给出先序结果 根据要求给定一棵二叉树的后序遍历和中序遍历结果 输出该树的先序遍历结果 输入格式 positive integer N lt 30 表示树中节点的个数 随之而来的是两行遍历序列 分别对应后序遍历和中序遍历结