原题链接:https://vjudge.net/problem/UVA-536
分类:树
备注:水题

代码如下:

#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
string PreOrder, InOrder;
void dfs(int L1, int R1, int L2, int R2)
{if (L1 > R1 || L2 > R2)return;char root = PreOrder[L1];int pos;for (pos = L2; InOrder[pos] != root; pos++);dfs(L1 + 1, L1 + pos - L2, L2, pos - 1);dfs(L1 + pos - L2 + 1, R1, pos + 1, R2);printf("%c", root);
}
int main(void)
{while (cin >> PreOrder >> InOrder){dfs(0, PreOrder.length() - 1, 0, InOrder.length() - 1);printf("\n");}return 0;
}

习题6-3 二叉树重建(Tree Recovery,ULM 1997,UVa 536)相关推荐

  1. 习题6-3 二叉树重建(Tree Recovery, ULM 1997, UVa 536)

    经典的分治法.. #include <iostream> #include <string> #include <vector> #include <stac ...

  2. 习题6_3 二叉树重建(Tree Recovery, ULM 1997, UVa536)

    题目描述: 输入一棵树的先序遍历和中序遍历序列,输出后序遍历序列 AC代码: #include<cstdio> #include<cstring>const int MAX_N ...

  3. 由任意二叉树的前序遍历序列和中序遍历序列求二叉树的思想方法_算法与数据结构基础 - 二叉树(Binary Tree)...

    二叉树基础 满足这样性质的树称为二叉树:空树或节点最多有两个子树,称为左子树.右子树, 左右子树节点同样最多有两个子树. 二叉树是递归定义的,因而常用递归/DFS的思想处理二叉树相关问题,例如Leet ...

  4. 【数据结构】二叉树 (Binary Tree)

    目录 一. 什么是树? 二. 二叉树 特殊二叉树 二叉树的性质 二叉树的存储 二叉树的遍历 二叉树的基本操作 一.什么是树? 之前咱们学习了一些简单的数据结构,如顺序表,链表,这些都是线性结构,线性结 ...

  5. 二叉树 Binary Tree

    我怀着激动的心 走上了这颗树 今天是2021年11月12日 今天开始上树!!!!!! 生活中的树形结构: 树:  根节点: 一棵树有且只有一个根节点就是最上面的节点 兄弟节点: 每一行的节点  它们具 ...

  6. 『数据结构与算法』解读树(Tree)和二叉树(Binary Tree)!

    『数据结构与算法』解读树(Tree)和二叉树(Binary Tree)! 文章目录 一. 树 1.1. 树的定义 1.2. 树的基本术语 1.3. 树的性质 二. 二叉树 2.1. 二叉树的定义 2. ...

  7. 二叉树——重建二叉树

    二叉树--重建二叉树 例如,某二叉树为: 前序遍历为:(4,7,9,2,1,5,6) 中序遍历为:(7,9,4,1,2,6,5) 后序遍历为:(9,7,1,6,5,2,4) 1.前序遍历+中序遍历 = ...

  8. c++实现简单的数据结构(1.链表合并 2.士兵队列训练问题 3.Rails 4.Josephus Problem 5.Tree Recovery 6.四则运算 7.愚人节的礼物 8.Web)

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  9. Uva536 Tree Recovery二叉树重建(先序和中序确定二叉树,后序输出)

    题目大意:给定二叉树先序和中序遍历,输出二叉树后序遍历. 方法:将英文字母映射为数字,利用数组存储,先序第一个节点是父节点,然后再从中序遍历中找到位置.注意边界.代码也很简单一次ac. #includ ...

最新文章

  1. 《用Python进行自然语言处理》第 1 章 语言处理与 Python
  2. csp 通信网络 java_CSP 通信网络
  3. 优秀程序员和一般程序员差别在哪?
  4. 01章.计算机网络概述(1.1~1.6)
  5. UpdateData( )
  6. 【笔记——Java】读取properties文件
  7. CS224N刷题——Assignment1.3_word2vec
  8. Officescan 常用的端口
  9. 【华为OJ】【算法总篇章】
  10. 嵌入式常用通讯协议2(CAN协议)
  11. 电脑文件误删除恢复的解决办法
  12. Zynga 在韩国发布游戏《Harry Potter: Puzzles Spells》
  13. 微信公众号行业排行榜周榜
  14. 微信群活码,一个能够将用户自动分流的工具
  15. 单片机编程软件很简单(八),Keil单片机编程软件辅助功能讲解
  16. 玩转96boards之(一)---高通410c板硬件
  17. 用c语言计算运费.c
  18. 做模具设计需要知道的6大系统的设计原则,老板就再也不说我了
  19. 解决重邮无法访问蓝鸽听力以及无法访问部分内网的解决方法
  20. ios客户端学习笔记(七):iOS客户端的UI设计

热门文章

  1. win10_64位+GTX1070max-q安装CUDA10.0.130+CUDNN7.4.2+Anaconda3.5.2+Tensorflow-gpu2.0.0+PyTorch-gpu1.2.0
  2. 浙江大学程序设计入门C语言第五周编程练习第一题
  3. 2022年01月世界编程语言排行
  4. Anders Hejlsberg访谈:Checked Exceptions的问题
  5. iptv不稳定是服务器问题吗,IPTV仍面临很多问题
  6. python -m是拿来干啥用的?
  7. Bootstrap 响应式实用工具——visible-xs、visible-sm、hidden-xs、hidden-sm等
  8. 【ASP.NET Web】项目实践—网上宠物店1:数据库设计
  9. 4月连锁药店行业门店数量top15品牌城市和开店潜力城市排行榜
  10. 写个微信小程序过中秋