已知后序与中序输出前序(先序)
已知后序与中序输出前序(先序):
后序:3, 4, 2, 6, 5, 1(左右根)
中序:3, 2, 4, 1, 6, 5(左根右)
分析:因为后序的最后一个总是根结点,令i在中序中找到该根结点,则i把中序分为两部分,左边是左子树,右边是右子树。因为是输出先序(根左右),所以先打印出当前根结点,然后打印左子树,再打印右子树。左子树在后序中的根结点为root - (end - i + 1),即为当前根结点-右子树的个数。左子树在中序中的起始点start为start,末尾end点为i - 1.右子树的根结点为当前根结点的前一个结点root - 1,右子树的起始点start为i+1,末尾end点为end。
输出的前序应该为:1, 2, 3, 4, 5, 6(根左右)
#include <cstdio>
using namespace std;
int post[] = {3, 4, 2, 6, 5, 1};
int in[] = {3, 2, 4, 1, 6, 5};
void pre(int root, int start, int end) {if(start > end) return ;int i = start;while(i < end && in[i] != post[root]) i++;printf("%d ", post[root]);pre(root - 1 - end + i, start, i - 1);pre(root - 1, i + 1, end);
}int main() {pre(5, 0, 5);return 0;
}
已知后序与中序输出前序(先序)相关推荐
- java 像素矩阵_JAVA eclipse 中,已知灰度图像的像素矩阵怎么输出这个图像
JAVA eclipse 中,已知灰度图像的像素矩阵如何输出这个图像? JAVA eclipse 中,已知灰度图像的像素矩阵如何输出这个图像?求指教. ------最佳解决方案------------ ...
- [java]已知文件 source.txt 中的内容如下,其中,username、yonghu 都表示用户名,password、mima都表示密码,level、dengji都表示等级
已知文件 source.txt 中的内容如下 username=root , password= 1234, id=1, level= 10 username= adimin, mima= 1234 ...
- 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...
已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...
- 如何过滤出已知当前目录下/llj中的所有一级目录?
测试环境,/llj下有许多的目录.文件等: [root@test llj]# ll total 0 drwxr-xr-x 2 root root 17 Dec 3 10:04 ext -rw-r--r ...
- 一遍搞定!关于如何已知后序和中序序列得到前序序列的问题
首先来个具体的问题吧,因为只是空谈显示不出效果. 如题 : 求先序排列 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点 ...
- 已知bug列表——Solidity中文文档(12)
写在前面:HiBlock区块链社区成立了翻译小组,翻译区块链相关的技术文档及资料,本文为Solidity文档翻译的第十二部分<已知bug列表>,特发布出来邀请solidity爱好者.开发者 ...
- [二叉树]已知后序/中序遍历,求先序遍历
二叉树后序遍历序列是dabec,中序遍历序列debac,它的前序遍历的序列是什么 1.由后序(LRD)得知C肯定为根结点 2.由中序(LDR) 以c为根节点该树必然只有左子树 3.先从后序入树 dab ...
- 大剑无锋之已知后续遍历bfegcda,中序badefcg,前序是?【面试推荐】
先补充一下二叉树的三种遍历的定义: 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树.在遍历左.右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树. 若二叉树为空则结束返回,否则: (1) ...
- C语言字符串判断是否与已知相同,C语言中判断两个字符串是否相同的方法
C语言中判断两个字符串是否相同的方法 C语言提供了几个标准库函数,可以比较两个字符串是否相同.以下是用strcmp()函数比较字符串的一个例子: #include #include void main ...
最新文章
- 分享Kali Linux 2017年第二周镜像文件
- etcd分布式之分布式通知与协调
- vray for 3dmax2019中文版
- “伪基站”任意冒用手机号短信诈骗
- 队列的应用、栈的应用
- 浅谈缓存最终一致性的解决方案
- 2.数据结构笔记学习--线性表基本操作
- Python(28)-异常
- SpaceX 火箭发射成功,一文了解所用的软件技术栈!
- JDK各个版本的新特性jdk1.5-jdk8
- 手把手教你用psp手动制作背景透明的图片
- 经典算法:计算两个日期之间的天数
- 可能是最通俗的Lempel-Ziv-Welch (LZW)无损压缩算法详述
- 【旅行青蛙】你的蛙到底在干什么?
- css日落_如何拍摄好日落照片
- HTML简单表格的制作
- 获取 RRD 文件的信息
- SecureCRT通过SSH服务登录ubuntu出错:Password authentication failed, Please verify that the username and passw
- C语言中如何求幂函数
- HTML网页设计结课作业 DIV布局校园足球网站制作 梅西足球体育 7页