利用二叉树中序及先序遍历确定该二叉树的后序序列

1000(ms)

10000(kb)

2708 / 5517

已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果。

输入

输入数据占2行,其中第一行表示中序遍历结果,第二行为先序遍历结果。

输出

对测试数据,输出后序遍历结果。

样例输入

BFDAEGC
ABDFCEG

样例输出

FDBGECA
#include<stdio.h>
#include<malloc.h>
#include<string.h>
struct BTNode
{char data;struct BTNode *lchild;struct BTNode *rchild;
};
struct BTNode *CreateBT1(char *pre,char *in,int n)
{BTNode *b;char *p;int k;if(n<=0) return NULL;b=(BTNode *)malloc(sizeof(BTNode));b->data=*pre;//先序遍历中根结点储存的字符或者双亲结点储存的字符 for(p=in;p<in+n;p++)//在中序遍历中找到该字符的位置 if(*p==*pre) break;k=p-in;//用k储存长度 b->lchild=CreateBT1(pre+1,in,k);//将中序的左边变为左孩子 b->rchild=CreateBT1(pre+k+1,p+1,n-k-1);//将中序的右边变为右孩子 return b;
}
void PostOrder(struct BTNode *p)//后序遍历输出二叉树
{if(p!=NULL){PostOrder(p->lchild);PostOrder(p->rchild);printf("%c",p->data);}
}
int main()
{char *pre,*in;int n;char a[100],b[100];scanf("%s",a);scanf("%s",b);n=strlen(a);in=a;//指向a数组第一个字符 pre=b;//指向b数组第一个字符 PostOrder(CreateBT1(pre,in,n));
}

西南科技大学OJ题 利用二叉树中序及先序遍历确定该二叉树的后序序列0984相关推荐

  1. 西南科技大学OJ题 求最小生成树(Prim算法)1075

    求最小生成树(Prim算法) 1000(ms) 10000(kb) 2256 / 4495 Tags: 生成树 求出给定无向带权图的最小生成树.图的定点为字符型,权值为不超过100的整形.在提示中已经 ...

  2. 西南科技大学OJ题 顺序表插入操作的实现0943

    顺序表插入操作的实现 建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data.如果指定的数据元素item不存在,则将data插入到顺序表的尾端.(数据类型为整型) 输入 第一行为顺序表 ...

  3. 西南科技大学OJ题 邻接矩阵存储简单路径1070

    邻接矩阵存储简单路径 5000(ms) 10000(kb) 2197 / 4175 Tags: 邻接矩阵 假设无向图G采用邻接矩阵存储,设计一个算法,输出图G中从顶点u到v的所有简单路径. 输入 简单 ...

  4. 西南科技大学OJ题 邻接矩阵到邻接表1055

    邻接矩阵到邻接表 5000(ms) 10000(kb) 2341 / 5552 假设无向图G采用邻接矩阵存储,编写一个算法输出邻接表. 输入 第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1) ...

  5. 西南科技大学OJ题 哈夫曼译码0986

    哈夫曼译码 1000(ms) 10000(kb) 1974 / 4142 通常要求根据给定的编码本对密文进行解码.现已给定相应字符的哈夫曼编码,要求根据编码对密文进行解码.(建立哈夫曼树以及编码.主函 ...

  6. 西南科技大学OJ题 单链表的删除操作的实现0953

    单链表的删除操作的实现 1000(ms) 65535(kb) 2896 / 13622 建立长度为n的单链表,删除第i个结点之前的结点. 输入 第一行为自然数n,表示链式线性表的长度: 第二行为n个自 ...

  7. 西南科技大学OJ题 above average 0706

    above average 1000(ms) 65535(kb) 1531 / 3045 It is said that 90% of frosh expect to be above average ...

  8. 统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,

    #include #include typedef struct Node { int data; struct Node *LChild; struct Node *RChild; }BiTNode ...

  9. 【CCCC】L2-006 树的遍历 (25分),根据后序与中序遍历建立二叉树(我讨厌树,系列1)

    problem L2-006 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30), ...

  10. 已知先序遍历和中序遍历,输出他的后序遍历序列.

    样例输入: DBACEGF  ABCDEFG 输出:ACBFGED BCAD CBAD 输出:CDAB 1 #include "stdafx.h" 2 #include<io ...

最新文章

  1. 参观中央财经大学机房安装centos6.4及优化小结
  2. 团队-团队编程项目作业名称-需求分析
  3. 数码管流动显示(自己的单片机)
  4. c#连接sqlserver
  5. 北大新成果!首次成功地将CNN解码器用于代码生成 | 论文+代码
  6. Java运行时数据区域
  7. 《Java游戏编程原理与实践教程》读书笔记(第3章——Java图形处理和Java 2D)
  8. MFC获取鼠标图片大小
  9. java 断点下载_java的断点下载
  10. R语言绘制Kaplan-Meier生存曲线
  11. 中文用户名改为英文只要3步复制黏贴
  12. SQL Server 备份还原单个数据表
  13. C语言——经典200道实例【基础例题100道——进阶例题100道】
  14. sql trim函数_SQL TRIM函数
  15. nodeJS生成随机token
  16. 3月9日—3月13日四年级课程表
  17. 关于辞职创业的思考(完整)
  18. Towards Generative Aspect-Based Sentiment Analysis 论文阅读ACL2021
  19. iOS 搜索功能实现
  20. 解决谷歌浏览器跨域错误问题

热门文章

  1. 吾爱破解专用虚拟机系统不能安装VMwaretools问题!
  2. 【数学建模】数学建模学习4---动态规划(例题+matlab代码实现)
  3. niceScroll.js
  4. 高通工具过滤_高通QXDM|高通诊断监视工具(Qualcomm QXDM)下载v3.14 官方版 - 欧普软件下载...
  5. C++小游戏——坦克大战
  6. 我不应该用计算机做题,超级计算器:能帮你做题的计算器,就是它了
  7. java 录音解析文字_教你一键把录音转成文字,五种超实用方法随你挑!
  8. 可靠性标准: TL9000
  9. web压力测试的几个指标
  10. 在手机上抓包HTTP/HTTPS的请求