【2136】数据结构实验之二叉树的建立与遍历 SDUTOJ
来源:互联网 发布:三菱fx编程代码 编辑:程序博客网 时间:2024/06/05 15:48
数据结构实验之二叉树的建立与遍历
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 <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>using namespace std;struct node{ char data; struct node *left,*right;}*p;int a=0;//记录叶子节点的个数struct node *creat(struct node *p)//创建二叉树{ char ch; cin>>ch; if(ch==',') p=NULL; else { p=(struct node *)malloc(sizeof(struct node)); p->data=ch; p->left=creat(p->left); p->right=creat(p->right); } return p;};void zhongxu(struct node *p)//中序遍历输出二叉树{ if(p!=NULL) { zhongxu(p->left); cout<<p->data; zhongxu(p->right); }}void houxu(struct node *p)//后序遍历输出二叉树{ if(p!=NULL) { houxu(p->left); houxu(p->right); cout<<p->data; }}int yezi(struct node *p)//求叶子节点的个数{ if(p!=NULL) { if(p->left==NULL&&p->right==NULL) a++; yezi(p->left); yezi(p->right); } return a;}int deep(struct node *p)//求二叉树的深度{ int l,r; if(!p) return 0; l=deep(p->left); r=deep(p->right); return l>r?l+1:r+1;}int main(){ struct node *root; root=creat(p); zhongxu(root); cout<<endl; houxu(root); cout<<endl; cout<<yezi(root)<<endl; cout<<deep(root)<<endl; return 0;}
0 0
- 【二叉树的建立和遍历】SDUTOJ 2136---数据结构实验之二叉树的建立与遍历
- 【2136】数据结构实验之二叉树的建立与遍历 SDUTOJ
- SDUTOJ 2136--数据结构实验之二叉树的建立与遍历
- SDUTOJ 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136-->数据结构实验之二叉树的建立与遍历
- 2136数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 理解矩阵(二)
- Oracle位图索引
- POJ 2195 Going Home
- 【程序设计】CString和string的互相转换
- shell 编程之函数
- 【2136】数据结构实验之二叉树的建立与遍历 SDUTOJ
- 选择排序算法
- 理解矩阵(三)
- JSON 入门指南
- 操作符(++,+,+=,小于号,(),--等)重载
- Node.js 处理post请求(表单提交)
- HDU2222 Keywords Search AC自动机
- hdoj.1390 Binary Numbers 20140821
- URAL 1223. Chernobyl’ Eagle on a Roof