求 二叉树中序建树和后序建树的程序

来源:百度知道 编辑:UC知道 时间:2024/06/20 12:37:14
请在举个输入的例子
楼下答非所问!!!
郁闷
你没有实践吧
提问之前这样做就错了

你要中序建立和后续建立(我以为你懂的),
先序,后续,中序建立输入方法肯定不一样撒,
程序看清楚再说饿,?是额外添加的,给整个树最下面添加额外的叶子节点?,让它成为满2叉数。
输入里是 要 带 ?的
程序都是 调试过的 看懂再说
先序输入 ABD??EG???CFH??I?J???
中序则输入?D?B?G?E?A?H?F?I?J?C?
后续则输入??D??G?EB??H???JIF?CA
只许改代码中函数bitree preCreateBitree(bitree &root)的

root=(bitree)malloc(sizeof(btnode));//先序
root->data=ch;
preCreateBitree(root->lchild); preCreateBitree(root->rchild);
return(root);〕这一段
中序就改为
〔preCreateBitree(root->lchild);
root=(bitree)malloc(sizeof(btnode));//中序
root->data=ch;
preCreateBitree(root->rchild);
return(root);〕
后续就改为
〔preCreateBitree(root->lchild); preCreateBitree(root->rchild);
root=(bitree)malloc(sizeof(btnode));//后序
root->data=ch;
return(root);〕
为了能在叶子节点返回,我们得多添加叶子节点,使所有的叶子节点都为NULL,他们的直为'?'.
运行该程序,输入回车
输出first:ABDEGCFHIJ middle:DBGEAHFIJC
#include <stdio.h>
#include <