知道一颗二叉树的前序和中序遍历表示,怎么用c写他的后序表示

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:42:18

我研究了好几天,终于写出来了!
注:二叉树的data我设为了char型,楼主可以自行设定(同时注意主程序也重新设定)。
我的算法比较常规,所以没有加注释,希望楼主能够理解。如果有什么不明白的地方,可以用百度消息询问我。
例如:
输入:
Input PreorderTraversal:
abdfgelmchijk
Input InorderTraversal:
fgdblemacjihk
输出:
PostorderTraversal:
gfdlmebjikhca

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 27
struct tree
{
char data;
struct tree *left;
struct tree *right;
};
typedef struct tree treenode;
typedef treenode *btree;

btree creat(char a)
{
btree p;
p=(btree)malloc(sizeof(treenode));
p->data=a;
p->left=NULL;
p->right=NULL;
return p;
}

void LRNandFREE(btree p)
{
if ( p != NULL )
{
LRNandFREE(p->left);
LRNandFREE(p->right);
printf("%c",p->data);
free(p);
}
}

int onleft(char a, char b, char *p)

已知二叉树T中结点的前序和中序遍历序列建立一棵二叉树 一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,该二叉树的后序遍历是什么?请给出详细答案.谢 已知二叉树的先根遍历和中序遍历,求后序遍历的算法? 已知二叉树的前序和后序,能否写出中序遍历? 已知一棵二叉树的先序遍历序列和中序遍历序列,编写一个程序唯一确定一棵二叉树 二叉树,前序遍历adbgcefh,中序遍历dgbaechf,求后序遍历?要有解答详细过程 已知二叉树的先序遍历顺序和后序遍历顺序,能否知道其中序遍历顺序? 请问:给定一棵(完全二叉树)的前序遍历序列,怎么画出这棵树? 已知二叉树后序遍历序列是dabec,中序遍历序列debac,它的前序遍历的序列是 已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是: