数据结构实验之二叉树的建立与遍历
来源:互联网 发布:她来听我的演唱会知乎 编辑:程序博客网 时间:2024/06/06 01:04
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2136&cid=1794
数据结构实验之二叉树的建立与遍历
Time Limit: 1000MS Memory limit: 65536K
题目描述
已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。
输入
输入一个长度小于50个字符的字符串。
输出
输出共有4行:
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
示例输入
abc,,de,g,,f,,,
示例输出
cbegdfacgefdba35
#include <stdio.h>#include <stdlib.h>typedef char type;typedef struct tnode{ type data; tnode *lc; tnode *rc;}tnode,*tree;int leaf=0,depth;tree creat(tree &T){ char s; scanf("%c",&s); if(s==',') T=NULL; else { T=(tree)malloc(sizeof(tnode)); T->data=s; T->lc=creat(T->lc); T->rc=creat(T->rc); } return T;}void midorder(tree T){ if(T!=NULL) { midorder(T->lc); printf("%c",T->data); midorder(T->rc); }}void hinorder(tree T){ if(T!=NULL) { hinorder(T->lc); hinorder(T->rc); printf("%c",T->data); }}void countleaf(tree T){ if(T) { if(T->lc==NULL&&T->rc==NULL) leaf++; else { countleaf(T->lc); countleaf(T->rc); } }}int countdepth(tree T){ int ldepth,rdepth; if(!T) return 0; else { if(T->lc) ldepth=countdepth(T->lc); else ldepth=0; if(T->rc) rdepth=countdepth(T->rc); else rdepth=0; return ldepth>rdepth?ldepth+1:rdepth+1; }}int main(){ tree T; T=creat(T); midorder(T); printf("\n"); hinorder(T); printf("\n"); countleaf(T); depth=countdepth(T); printf("%d\n%d\n",leaf,depth); return 0;}
0 0
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历 SDUT
- HDU 1269 迷宫城堡(并查集判断强连通图)
- UFLDL initialize_weights.m
- JavaScript内置对象-Date 日期对象
- 爬虫入门
- 石英调度翻译
- 数据结构实验之二叉树的建立与遍历
- 关于亚稳态及其处理方法
- [todo]后台开发面试 网络编程 数据库
- LeetCode OJ-198. House Robber
- HTML特殊字符编码对照表
- dubbo的学习
- CSS-5
- 51nod oj 1116 【进制问题】 1179【约数打表】
- HDU 5795 A Simple Nim (sg函数 打表)