// pre -- 先序
// in -- 中序
void Post(List *pre, List *in)
{
Element e;
POSITION pos;
List *lin, *rin;
List *lpre,*rpre;
e = GetFront(pre); // 取得先序表中的第一个元素(必定为二叉树的根节点)
pos = FindElement(in, e); // 根节点必定把中序分成左右两部分,
//左半部为左子树序列,右半部为右子树序列
lin = GetLeft(in, pos); // 以pos为界取得中序的左半部分
rin = GetRight(in, pos); // 取得右半部分
lpre = FindLeft(pre, lin); // 从先序中找到左子树部分
rpre = FindRight(pre,rin); // 从先序中找到右子树部分
Post(lpre, lin); // 访问左子树
Post(rpre, rin); // 访问右子树
Vist(e); // 访问根
}
正文
已知二叉树的前,中遍历结果,求后序遍历结果2005-09-16 13:13:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/boxer/4813.html
阅读(3564) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论