已知中序前序求后序

原创 2016年05月30日 11:07:03
#include<stdio.h>
#include<stdlib.h>
struct node{
	int x;
	struct node *l,*r;
};
int qx[100],zx[100];
struct node *js(int qs,int qt,int zs,int zt){
    if(qs>qt)   return NULL;	
	struct node *h=new node;
	h->x=qx[qs];
	h->l=NULL;h->r=NULL;
	if(qs==qt)
		return h;
	int pos;
	for(int i=zs;i<=zt;i++)
	    if(zx[i]==qx[qs]){
			pos=i;
			break;
		}	
	h->l=js(qs+1,qs+pos-zs,zs,pos-1);
	h->r=js(qs+pos-zs+1,qt,pos+1,zt);
	return h;
}
void out(struct node *h){
    if(h)out(h->l);
	if(h)out(h->r);
	if(h)printf("%d ",h->x);	
}
int main(){
	int i,j,k,m,n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)scanf("%d",&qx[i]);
	for(i=1;i<=n;i++)scanf("%d",&zx[i]);
	struct node *h=js(1,n,1,n);
	out(h);
	system("pause");
	return 0;	
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

已知二叉树的前序和中序,求后序

以前在学习数据结构的时候,经常会有一道选择题,已知二叉树的前序和中序遍历,求二叉树的后序遍历。后来想到用编程的方法来实现它,限于水平有限,一直无从下手。后来,受另一个问题启发,才想出其解法:    ...
  • timepe
  • timepe
  • 2012年04月04日 12:29
  • 208

[ZZ] 二叉树:已知前序中序求后序结果的问题

讨论本题:题目描述:若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbae...
  • leonsc
  • leonsc
  • 2011年04月18日 15:41
  • 971

已知二叉树的中序和后序求前序

例子,后序遍历为 gbdehfca,中序遍历为 dgbaechf 后序遍历中的最后一个元素是根节点,a,然后查找中序中a的位置 把中序遍历分成 dgb a echf,而因为节点个数要对应 ...

已知二叉树的前序序列和中序序列,求二叉树的后序序列

#include #include int pre_p=1,pre[1001],in[1001],n,count_print;//pre_p用于遍历前序序列 //pre为前序序列数组,in为后序序...

HDU 1710 已知前序中序须求后序。

Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O...

已知中序和后序,求前序

例子,后序遍历为 gbdehfca,中序遍历为 dgbaechf  后序遍历中的最后一个元素是根节点,a,然后查找中序中a的位置  把中序遍历分成 dgb a echf,而因为节点个数要对应  ...

二叉树的遍历(前序 中序 后序)和已知两种遍历顺序求另外一种遍历顺序(含实例)

1 二叉树的遍历           前序遍历:先遍历根节点,然后遍历左子树,然后遍历右子树           中序遍历:先遍历左子树,然后遍历根节点,然后遍历右子树           后序遍历:...

6.3.3 二叉树重建 已知前序和中序求后序

在一棵二叉树总,前序遍历结果为:DBACEGF,中序遍历结果为 ABCDEFG,求后序遍历结果。 我们知道: 前序遍历方式为:根节点->左子树->右子树 中序遍历方式为:左子树->根...

树的遍历-已知中序+(前序|后序)求层次遍历

先来看一道题目: L2-2. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B ...

python二叉树遍历、求深度、已知前序中序 求树 求后序

已知前序中序 求二叉树
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:已知中序前序求后序
举报原因:
原因补充:

(最多只允许输入30个字)