代码如下:

#include <iostream>
using namespace std;
const int N = 1010;
int in_order[N], post_order[N], lch[N], rch[N];int build(int inL, int inR, int postL, int postR) {if (inL > inR)return 0;int root = post_order[postR];int k = inL;while (in_order[k] != root)k++;int numLeft = k - inL;lch[root] = build(inL, k - 1, postL, postL + numLeft - 1);rch[root] = build(k + 1, inR, postL + numLeft, postR - 1);return root;
}void dfs(int u) {cout << u << " ";if (lch[u])dfs(lch[u]);if (rch[u])dfs(rch[u]);
}int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> in_order[i];for (int i = 0; i < n; i++)cin >> post_order[i];build(0, n - 1, 0, n - 1);dfs(post_order[n - 1]);return 0;
}

测试结果:

根据后序和中序求二叉树的先序相关推荐

  1. 【1489】求二叉树的先序遍历 SDUTOJ

     求二叉树的先序遍历 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历 ...

  2. 二叉树前序中序后续线索树_二叉树的先序,中序,后序遍历以及线索二叉树的遍历...

    二叉树的先序,中序,后序遍历以及线索二叉树的遍历 (2008-05-04 17:52:49) 标签: 杂谈 C++ 二叉树的先序,中序,后序遍历以及线索二叉树的遍历 头文件 //*********** ...

  3. 二叉树,由先序序列和中序序列建树 / 满(真)二叉树由先序序列和后序序列建树

    中序序列可以与先序,后序,层序序列中的任何一个建立一棵树,而后三者之间两两不能建树(因为无法区分根节点的左右子树) 按先序遍历的顺序来建立树,建树过程类似于斐波那契数列的求项过程 先建立第一层的根节点 ...

  4. 数据结构实验之二叉树八:(中序后序)求二叉树的深度

    Description 已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度. Input 输入数据有多组,输入T,代表有T组数据.每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的 ...

  5. 数据结构-简单实现二叉树的先序、中序、后序遍历(java)

    第一步:创建一颗二叉树 public class Node { private int data;//数据域private Node leftNode;//左孩子private Node rightN ...

  6. 根据中序和先序遍历创建一颗二叉树☆

    题目:设一个二叉树各节点的值互不相同,其先序遍历序列和中序遍历序列分别存于两个一维数组A.B中,试编写算法建立该二叉树的二叉链表 分析:         这是一个典型的已知中序和先序求二叉树的案例,具 ...

  7. 二叉线索树的先序、中序、后序的线索化及其遍历

    线索二叉树 注意:源码 二叉线索树的概念 二叉线索树是在传统二叉树结构的基础上,加上判断结点左右孩子是否为空的标志–LTag,RTag. 当左孩子为空的时候,lchild指向该节点的前驱结点,当右孩子 ...

  8. java已知一个二叉树_大牛带你学 | 由二叉树的遍历序列求二叉树结构的解题方法归纳...

    前言 二叉树章节 属于数据结构考察的三大重点章节(线性表.树.图)之一,不管是在自命题院校考察和408统考都是考察频次很高的考点.今天,大牛学长就来为各位同学总结归纳一个二叉树知识考察中的常见题型的解 ...

  9. 已知二叉树的前序遍历、中序遍历或者中序遍历、后序遍历求二叉树结构的算法

    二叉树中的前序遍历是先访问根结点,再访问左子树,右子树. 中序遍历是先访问左子树,再是根结点,最后是右子树. 后序遍历是先访问左子树,再是右子树,最后是根结点. 算法思路是先根据前序遍历的第一个结点或 ...

最新文章

  1. iView 实现可编辑表格
  2. altium pcb 信号高亮_在PCB设计中高效的放置元件技巧
  3. 时间频率科学数据管理控制与应用
  4. .NET中获取字符串的MD5码
  5. java 静态绑定_java的动态绑定和静态绑定
  6. 定时器计数器工作方式
  7. ai人工智能的本质和未来_人工智能简介:这就是未来
  8. 计算机定义函数求出以下,求大神看一下 计算机提示 函数定义不合法
  9. 车机开发之均衡器app开发
  10. .bin文件如何打开并使用
  11. 修改版本名称及手机型号
  12. 电脑开机密码忘了怎么办
  13. mysql like 百分号_mysql语句中使用like后面的%(百分号)的问题
  14. linux中man命令的基本用法,linux中的man命令的详细解释
  15. python计算运动会某个参赛选手的得分。数据保存在文件中_为什么一定要考计算机二级证书?8个好处,考和没考区别有点大...
  16. 格式化字符串你都懂了吗
  17. linux下文件重命名
  18. 51NOD L4-第三章 树 刷题记录-zyz
  19. 量化均线策略-简单移动平均数、指数加权移动平均数、双均线交叉和异同移动平均线(MACD)...
  20. [转]SPICE仿真软件基础(整理)

热门文章

  1. ArcGIS中数据存放相对路径和绝对路径的区别
  2. VS2008打包(含水晶报表)与安装注意事项
  3. C语言试题九十二之输入数据有多行,第一行是一个整数n,表示测试用例的个数,后面跟着n行 ,每行包括一个由字母和数字组成的字符串
  4. linux shell之xargs 、tr、sha1sum、head、tail一般使用
  5. 用递归方式实现二叉树先序、中序、后序遍历
  6. Android之Android studio如何解决Multiple dex files define Landroid/support/a(文件重复引用错误)
  7. foreach循环符合就不往下走了_柴油发电机组冷却液循环故障解决方法
  8. 第2章 Python与数据分析
  9. 2021,如何找到适合自己的圈子?
  10. 出现了!豆瓣最高9.9分,2020年最值得看的美剧!你居然还没看过?【内附资源】...