首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

已知二叉树的先序序列,如何建立二叉树并求其叶子结点和深度?

2012-03-16 
已知二叉树的先序序列,怎么建立二叉树并求其叶子结点和深度????~二叉树的建立与遍历Time Limit: 1000MS Me

已知二叉树的先序序列,怎么建立二叉树并求其叶子结点和深度????~

二叉树的建立与遍历
Time Limit: 1000MS Memory limit: 65536K
题目描述
  已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。

输入
 输入一个长度小于50个字符的字符串。
输出
输出共有4行:
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;
第4行输出二叉树深度。
示例输入
abc,,de,g,,f,,,
示例输出
cbegdfa
cgefdba
3
5

[解决办法]
递归建立二叉树这个应该容易的,再不知道就看数据结构去吧..
先序你应该也能理解,
例 根,左子(左子,右子)右子(左子,右子)。 不停按照括号里递归下去就是了。
深度么,就是递归最深的那一层,相当于求最大值。
叶子节点,递归的时候判断并统计一下..

热点排行