数据结构实验之二叉树的建立与遍历
来源:互联网 发布:大数据时代 社会学 编辑:程序博客网 时间:2024/05/15 17:55
数据结构实验之二叉树的建立与遍历Crawling in process...Crawling failedTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Description
已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。
Input
输入一个长度小于50个字符的字符串。
Output
输出共有4行:
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
Sample Input
abc,,de,g,,f,,,
Sample Output
cbegdfacgefdba35
Hint
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <malloc.h>struct node{ int data; struct node *l,*r;};struct node *p;int count=0;struct node *creat(struct node *p){ char ch; scanf("%c",&ch); if (ch==',') p = NULL; else { p=(struct node*)malloc(sizeof(struct node)); p->data = ch; p->l = creat(p->l); p->r = creat(p->r); } return p;}void zhongxu(struct node *p){ if (p) { zhongxu(p->l); printf("%c",p->data); zhongxu(p->r); }}void houxu(struct node *p){ if (p) { houxu(p->l); houxu(p->r); printf("%c",p->data); }}int jiedian(struct node *p){ if(p) { if((p->l==NULL)&&(p->r==NULL)) count++; jiedian(p->l); jiedian(p->r); } return 0;}int deep(struct node *p){ int l1,r1; if(!p) return 0; l1 = deep(p->l); r1 = deep(p->r); return l1>r1?l1+1:r1+1;}int main(){ struct node *root; root = creat(p); zhongxu(root); printf("\n"); houxu(root); printf("\n"); jiedian(root); printf("%d\n",count); printf("%d\n",deep(root)); return 0;}
0 0
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历 SDUT
- USB转串口驱动应用于macbook
- 码农创业记(四)
- 【HDU】3917 Road constructions 最大权闭合子图
- hdu 3635 Dragon Balls 带权并查集
- andriod sdk 网络问题
- 数据结构实验之二叉树的建立与遍历
- 【JavaScript】编写快速、高效的JavaScript代码
- Linux3.5下的PWM蜂鸣器驱动测试 (2)
- 初识Activity(章节摘要)
- Binary Tree Traversals(二叉树_知前序中序求后序)
- poj 1577 Falling Leaves(二叉搜索树的简单操作(建立、插入))
- "error while loading shared libraries: xxx.so.x" 错误原因和解决办法
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配(二分图学习)
- HttpURLConnection的使用