前言必读! http://blog.csdn.net/hnust_v/article/details/51747743
问题 J: 二叉树遍历
时间限制: 1 Sec 内存限制: 128 MB
提交: 720 解决: 289

题目描述对于二叉树T,可以有先序遍历、中序遍历和后序遍历三种遍历方式。现在我们要求给出一棵二叉树的先序遍历序列和中序遍历序列,输出它的广度优先遍历序列。
输入第一行为一个整数t(0<t<10),表示测试用例个数。 以下t行,每行输入一个测试用例,包含两个字符序列s1和s2,其中s1为一棵二叉树的先序遍历序列,s2为中序遍历序列。s1和s2之间用一个空格分 隔。序列只包含大写字母,并且每个字母最多只会出现一次。
输出为每个测试用例单独一行输出广度优先遍历序列。
样例输入
2
DBACEGF ABCDEFG
BCAD CBAD
样例输出
DBEACGF
BCAD
提示本题主要测试对二叉树遍历的理解。需要先根据先序序列和中序序列建立二叉树,然后对二叉树进行按层次的遍历。

这题刘汝佳书上有一道类似的,但是是打印后序,结果搁这就思维定势就没建树,而是记录层数,再从深往浅循环打印。(建树法待补)

#include <bits/stdc++.h>
using namespace std;
char s1[90],s2[90];
typedef struct {int order;char node;}Point;
Point Tree[100];int Count;int MAX;
void build(int n,char s1[],char s2[],int FLOR)
{MAX=max(MAX,FLOR);if(n<=0) return;int p = strchr(s2,s1[0])-s2;Tree[++Count].node=s1[0];Tree[Count].order=FLOR;build(p,s1+1,s2,FLOR+1);build(n-p-1,s1+p+1,s2+p+1,FLOR+1);
}
int main(void)
{//freopen("E:\\test.txt","r",stdin);int T;cin>>T;for(int t=1;t<=T;t++){scanf("%s %s",s1,s2);Count=0;MAX=1;int n=strlen(s1);build(n,s1,s2,1);for(int i=1;i<=MAX;i++)for(int j=1;j<=Count;j++)if(Tree[j].order==i) putchar(Tree[j].node);putchar('\n');}
}

问题 J: 二叉树遍历相关推荐

  1. 数据结构源码笔记(C语言):二叉树遍历

    //二叉树遍历 #include<stdio.h> #include<malloc.h> #include<malloc.h> #define MaxSize 10 ...

  2. 第九周项目实践3 利用二叉树遍历思想解决问题

    *Copyright (c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:邵雪源 *完成日期:2017年11月2日 *版 本 号:v1.0 ...

  3. 九度oj 题目1078:二叉树遍历

    题目1078:二叉树遍历 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5326 解决:3174 题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历 ...

  4. 二叉树遍历(已知先序和中序)

    4931: 二叉树遍历 Time Limit: 1 Sec Memory Limit: 32 MB Description 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍 ...

  5. (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)

    文章目录 一:二叉树遍历概述 二:二叉树深度优先遍历 (1)先序遍历-根左右(NLR) (2)中序遍历-左根右(LNR) (3)后序遍历-左右根(LRN) 总结:三种遍历方式动图演示 三:二叉树的层序 ...

  6. 数据结构上机实践第九周项目3 - 利用二叉树遍历思想解决问题

    利用二叉树遍历思想解决问题 学以致用,知行合一,学了知识就要会运用,否则跟背课文没什么区别,上次实践,做了二叉树递归遍历的算法实现,本次实践,将利用遍历思想解决问题,将遍历思想真正的运用到实际问题需求 ...

  7. 数据结构上机实践第九周项目2 - 二叉树遍历的递归算法

    二叉树遍历的递归算法 递归问题总会成为我们的难点,代码量少,思维量确是很大,难是在所难免的,所以,在思维理解的同时结合实现代码理解,这样就很有可能让我们打开思路,理解的更深,本次实践将在二叉树算法的基 ...

  8. 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树

    [本文谢绝转载,原文来自http://990487026.blog.51cto.com] 树 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树二叉树的创建,关系建立二叉树的创建 ...

  9. 二叉树遍历-层序-递归

    层序遍历:按照层级,从上往下,从左到右.使用广度优先搜索算法. 定义一棵二叉树,遍历逻辑按照图中的层级依次进行遍历 按照层级划分,二叉树分为四级,如果把没有节点的用null节点进行填充,那么二叉树将变 ...

  10. 树的基本概念和遍历规则 数据结构和算法 二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)

    zsychanpin 博客园 首页 新随笔 联系 订阅 管理 树的基本概念和遍历规则 树的递归定义 树是n(n>0)个结点的有限集,这个集合满足下面条件:       ⑴有且仅有一个结点没有前驱 ...

最新文章

  1. http协议的Request Payload 和 Form Data 的区别
  2. windows boot files
  3. [数据结构]数据结构中各种树
  4. NLP情感分析笔记(一):Baseline
  5. ObjectDataSource 如何传递查询参数
  6. 小度WiFi作为无线网卡设置的方法
  7. yolov2 - tiny模型训练识别
  8. 建模专题1:石墨烯-氧化石墨烯及各种纳米材料体系的构建方法
  9. (ZT)中国姓氏韦氏拼音拼法
  10. Java 合并Word文档
  11. Ubuntu16.04中修复Pycharm问号图标问题
  12. 有哪些测试反应速度的软件,用批处理实现的反应速度测试工具
  13. google 输入栏不显示历史搜索记录方法
  14. 火山火花代码编辑框(火花编辑框)Scintilla代码编辑框案例教程
  15. java高级计算器_高级计算器[Java版]
  16. Linux shell 的ss
  17. 百度对 十进制网络 的官方态度
  18. 韦尔奇经典的一次演讲:2001年夏,在股东年会上的讲话(中英文)
  19. 手把手教你调试构建一个Vue/小程序商城项目源码
  20. 用最简单的方法实现QQ魔法表情效果!

热门文章

  1. SpringCloud Stream集成rabbitMQ(延时队列)
  2. 我是怎么找无版权素材的,全部分享,新手小白做自媒体一天500
  3. 一场AI竞赛,怎么就让这群年轻人变化这么大?
  4. 华为2022机试(餐厅排队提示系统)
  5. Pyhton酷我音乐爬取,爬虫MP3文件下载核心代码
  6. Windows系统下安装使用Zookeeper
  7. anaconda下载遇到坑?没有conda.exe文件?conda不是内部命令?看看我的教程吧
  8. vue中总线机制(bus)
  9. Yolo-Fastest
  10. 开放的Java圆通物流轨迹推送服务接口文档