数据结构实验之求二叉树后序遍历和层次遍历
2018-01-24 09:47
274 查看
水题一道,考察二叉树基本知识
Memory Limit: 65536KB
[align=center][/align]
数据结构实验之求二叉树后序遍历和层次遍历
Time Limit: 1000MSMemory Limit: 65536KB
[align=center][/align]
Problem Description
已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历。Input
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的先序遍历序列,第二个字符串表示二叉树的中序遍历序列。Output
每组第一行输出二叉树的后序遍历序列,第二行输出二叉树的层次遍历序列。Example Input
2 abdegcf dbgeafc xnliu lnixu
Example Output
dgebfca abcdefg linux xnuli
#include <stdio.h> #include <stdlib.h> #include <string.h> int k; char a[100],b[100]; struct bittree { char data; struct bittree * ltree,* rtree; }; void cengci(struct bittree * root) { if(root==NULL) { return ; } int f,r; f=1;r=1; struct bittree * s[100],*p; s[1]=root; while(f<=r) { p=s[f++]; printf("%c",p->data); if(p->ltree!=NULL) { s[++r]=p->ltree; } if(p->rtree!=NULL) { s[++r]=p->rtree; } } } void houxu(struct bittree * root) { if(root!=NULL) { houxu(root->ltree); houxu(root->rtree); printf("%c",root->data); } } struct bittree * create(int len,char * a,char * b) { struct bittree * root; int i; root=(struct bittree *)malloc(sizeof(struct bittree)); if(len==0) { root=NULL; } else { root->data=a[0]; for(i=0;i<len;i++) { if(root->data==b[i]) { break; } } root->ltree=create(i,a+1,b); root->rtree=create(len-i-1,a+i+1,b+i+1); } return root; } int main() { int t,len; struct bittree * root; scanf("%d",&t); getchar(); while(t--) { k=0; gets(a); gets(b); len=strlen(a); root=create(len, a, b); houxu(root); printf("\n"); cengci(root); printf("\n"); } return 0; }
相关文章推荐
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历(简单版)
- 数据结构实验之求二叉树后序遍历和层次遍历 分类: 树 2015-06-21 10:58 11人阅读 评论(0) 收藏
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历