数据结构实验之二叉树的建立与遍历
来源:互联网 发布:centos制作u盘启动 编辑:程序博客网 时间:2024/06/05 07:52
Problem Description
已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。
Input
输入一个长度小于50个字符的字符串。
Output
输出共有4行:
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
Example Input
abc,,de,g,,f,,,
Example Output
cbegdfacgefdba35
#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct node{ char data ; struct node * lc; struct node * rc;}bitree;int i;int ans;int max;bitree * pre_create(char str[51]){ bitree * t; if(str[++i]!=',') { t=(bitree *)malloc(sizeof(bitree)); t->data=str[i]; t->lc=pre_create(str); t->rc=pre_create(str); } else { t=NULL; } return t;}void inshow(bitree * tree){ bitree * t; t=tree; if(t!=NULL) { inshow(t->lc); printf("%c",t->data); inshow(t->rc); }}void postshow(bitree * tree){ bitree * t; t=tree; if(t!=NULL) { postshow(t->lc); postshow(t->rc); printf("%c",t->data); }}void pre_show(bitree * t){ if(t) { if(t->lc==NULL&&t->rc==NULL) { ans++; } pre_show(t->lc); pre_show(t->rc); }}void preshow(int count,bitree *t){ int k; if(t) { if(count==0) count=1; k=count; if(k>max) max=k; preshow(++count,t->lc); preshow(++k,t->rc); }}int main(){ int len; char str[51]; bitree * tree; while(scanf("%s",str)!=EOF) { i=-1; ans=0; max=0; len=strlen(str); tree=pre_create(str); inshow(tree); printf("\n"); postshow(tree); printf("\n"); pre_show(tree); printf("%d\n",ans); preshow(0,tree); printf("%d\n",max); } return 0;}
0 0
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历 SDUT
- 基于代数距离的椭圆拟合
- Spring_22_基于配置文件的方式来配置 AOP
- U盘制作Apple系统安装盘
- android-BroadcastReceiver 发送有序广播
- 找老乡 (sdut oj)
- 数据结构实验之二叉树的建立与遍历
- CF699A
- 关于Jadepool3.0的使用
- post请求https接口
- SPOJ 694&&705
- ajax提交的javascript代码
- 如何快速转载CSDN中的博客
- 蓝桥杯 算法提高 特殊的质数肋骨
- 461. Hamming Distance