西南科技大学OJ题 利用二叉树中序及先序遍历确定该二叉树的后序序列0984
利用二叉树中序及先序遍历确定该二叉树的后序序列
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相关推荐
- 西南科技大学OJ题 求最小生成树(Prim算法)1075
求最小生成树(Prim算法) 1000(ms) 10000(kb) 2256 / 4495 Tags: 生成树 求出给定无向带权图的最小生成树.图的定点为字符型,权值为不超过100的整形.在提示中已经 ...
- 西南科技大学OJ题 顺序表插入操作的实现0943
顺序表插入操作的实现 建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data.如果指定的数据元素item不存在,则将data插入到顺序表的尾端.(数据类型为整型) 输入 第一行为顺序表 ...
- 西南科技大学OJ题 邻接矩阵存储简单路径1070
邻接矩阵存储简单路径 5000(ms) 10000(kb) 2197 / 4175 Tags: 邻接矩阵 假设无向图G采用邻接矩阵存储,设计一个算法,输出图G中从顶点u到v的所有简单路径. 输入 简单 ...
- 西南科技大学OJ题 邻接矩阵到邻接表1055
邻接矩阵到邻接表 5000(ms) 10000(kb) 2341 / 5552 假设无向图G采用邻接矩阵存储,编写一个算法输出邻接表. 输入 第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1) ...
- 西南科技大学OJ题 哈夫曼译码0986
哈夫曼译码 1000(ms) 10000(kb) 1974 / 4142 通常要求根据给定的编码本对密文进行解码.现已给定相应字符的哈夫曼编码,要求根据编码对密文进行解码.(建立哈夫曼树以及编码.主函 ...
- 西南科技大学OJ题 单链表的删除操作的实现0953
单链表的删除操作的实现 1000(ms) 65535(kb) 2896 / 13622 建立长度为n的单链表,删除第i个结点之前的结点. 输入 第一行为自然数n,表示链式线性表的长度: 第二行为n个自 ...
- 西南科技大学OJ题 above average 0706
above average 1000(ms) 65535(kb) 1531 / 3045 It is said that 90% of frosh expect to be above average ...
- 统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,
#include #include typedef struct Node { int data; struct Node *LChild; struct Node *RChild; }BiTNode ...
- 【CCCC】L2-006 树的遍历 (25分),根据后序与中序遍历建立二叉树(我讨厌树,系列1)
problem L2-006 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30), ...
- 已知先序遍历和中序遍历,输出他的后序遍历序列.
样例输入: DBACEGF ABCDEFG 输出:ACBFGED BCAD CBAD 输出:CDAB 1 #include "stdafx.h" 2 #include<io ...
最新文章
- 参观中央财经大学机房安装centos6.4及优化小结
- 团队-团队编程项目作业名称-需求分析
- 数码管流动显示(自己的单片机)
- c#连接sqlserver
- 北大新成果!首次成功地将CNN解码器用于代码生成 | 论文+代码
- Java运行时数据区域
- 《Java游戏编程原理与实践教程》读书笔记(第3章——Java图形处理和Java 2D)
- MFC获取鼠标图片大小
- java 断点下载_java的断点下载
- R语言绘制Kaplan-Meier生存曲线
- 中文用户名改为英文只要3步复制黏贴
- SQL Server 备份还原单个数据表
- C语言——经典200道实例【基础例题100道——进阶例题100道】
- sql trim函数_SQL TRIM函数
- nodeJS生成随机token
- 3月9日—3月13日四年级课程表
- 关于辞职创业的思考(完整)
- Towards Generative Aspect-Based Sentiment Analysis 论文阅读ACL2021
- iOS 搜索功能实现
- 解决谷歌浏览器跨域错误问题
热门文章
- 吾爱破解专用虚拟机系统不能安装VMwaretools问题!
- 【数学建模】数学建模学习4---动态规划(例题+matlab代码实现)
- niceScroll.js
- 高通工具过滤_高通QXDM|高通诊断监视工具(Qualcomm QXDM)下载v3.14 官方版 - 欧普软件下载...
- C++小游戏——坦克大战
- 我不应该用计算机做题,超级计算器:能帮你做题的计算器,就是它了
- java 录音解析文字_教你一键把录音转成文字,五种超实用方法随你挑!
- 可靠性标准: TL9000
- web压力测试的几个指标
- 在手机上抓包HTTP/HTTPS的请求