一只一棵二叉树的先序遍历结果为abcdefghi,中序遍历结果为cbafegdhi,请写出后序遍历结果并画出这棵二叉树

一只一棵二叉树的先序遍历结果为abcdefghi,中序遍历结果为cbafegdhi,请写出后序遍历结果并画出这棵二叉树,第1张

左一定优先于右 ,所以根的位置有三种。

根 左 右、左 根 右、左 右 根。

分别称为先序遍历、中序遍历、后续遍历,子树也一样,到一个子树就遍历一次,按照遍历顺序写下去就好,尤其注意根特殊对待(只有一个所以只写一个)。

后续遍历是:CBEFDA

依据前序遍历序列可确定根结点为A;再依据中序遍历序列可知其左子树由DBE构成,右子树为FC;又由左子树的前序遍历序列可知其根结点为B,由中序遍历序列可知其左子树为D,同理推算FC的排列顺序。

扩展资料:

除陆或了先序遍历、中序遍历、后序遍历外,还可以对二叉树进行层序遍历。设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一祥颂层的树根节点,然后从左到右访问第2层上的节点,接着是第早宴伍三层的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。

有且仅有一个开始结点和一个终端结点,其余结点都有且仅有一个前驱结点和一个后继结点。为了区别于树形结构中前驱(即双亲)结点和后继(即孩子)结点的概念,对上述三种线性序列,要在某结点的前驱和后继之前冠以其遍历次序名称。

参考资料来源:百度百科-二叉树遍历

运行腔扰过了,么有问题!!!!

#include <stdio.h>

int main()

{ char c1[3],c2[3],c3[3]

scanf("%3s%3s%3s",&c1,&c2,&c3)

printf("%s,%s,%s",c1,c2,c3)

return 0

}

c编程高手团队正在招新,有意者速速行动,一起学耐顷习,一起努伍亩旦力!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12400878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存