数据结构实验之二叉树八:(中序后序)求二叉树的深度
2017-11-11 11:37
375 查看
数据结构实验之二叉树八:(中序后序)求二叉树的深度
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。
Input
输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。
Output
输出二叉树的深度。
Example Input
2
dbgeafc
dgebfca
lnixu
linux
Example Output
4
3
Hint
Author
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。
Input
输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。
Output
输出二叉树的深度。
Example Input
2
dbgeafc
dgebfca
lnixu
linux
Example Output
4
3
Hint
Author
#include<stdio.h> #include<stdlib.h> #include<string.h> char a[55],b[55]; struct node { char data; struct node *lchild, *rchild; }; struct node *creat(char a[],char b[],int len)//建立二叉树 { struct node *t; int i; if(len==0) t = NULL; else { t = (struct node *)malloc(sizeof(struct node)); t -> data = b[len-1]; for(i = 0;i < len;i++) { if(a[i]==b[len-1]) break; } t -> lchild = creat(a,b,i);//左子树部分的位置 t -> rchild = creat(a+i+1,b+i,len-i-1);//右子树部分的位置 } return t; } int depth(struct node *t) { int depthval; if(t==NULL)return 0; else { int depthleft = depth(t->lchild); int depthright = depth(t -> rchild); if(depthleft > depthright) depthval = depthleft +1; else depthval = depthright + 1; } return depthval; } int main() { int t; while(~scanf("%d",&t)) { while(t--) { struct node *T; int len; scanf("%s",a); scanf("%s",b); len = strlen(a); T = creat(a,b,len); printf("%d\n",depth(T)); } } return 0; }
相关文章推荐
- SDUT-2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- C语言 数据结构之二叉树 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树四:还原二叉树
- 数据结构实验之二叉树四:还原二叉树
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构实验之二叉树四:还原二叉树
- 3341 数据结构实验之二叉树二:遍历二叉树