读书频道 > 网站 > 网页设计 > 二级c语言程序设计
3.二叉树的遍历
14-02-10    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > 二级c语言程序设计

本书由希赛教育等考学院组织编写,作为全国计算机等级考试二级的辅导和培训指定教程。书中内容紧扣全国计算机等级考试2014年考试大纲,通过对历年试题进行科学分析、研究、总结、提炼而成。书中内容全面实用,涵立即去当当网订购

所谓遍历二叉树,就是遵从某种次序,访问二叉树中的所有节点,使得每个节点仅被访问一次。

(1)前序遍历

前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。图1-10中的二叉树,前序遍历序列:ABCDEF。

(2)中序遍历

中序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根节点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根节点,最后遍历右子树。图1-10中的二叉树,中序遍历序列:CBDAEF。

(3)后序遍历

后序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根节点;并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根节点。图1-10中的二叉树,后序遍历序列:CDBFEA。

例,已知二叉树的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则前序遍历序列是什么?

解题过程如下:

1)从后序中,可以先得到根节点是E,然后再看中序的序列:ABCDEFG,可以发现ABCD位于根节点的左边,而FG位于根节点的右边,于是得到图1-11所示的图形。

2)先来看ABCD这部分,然后看后序序列,在后序序列中有BDCA这一部分,可以确定A是这部分的根,再看中序序列中的ABCD,发现BCD都在A的后面。因此,可以画出如图1-12所示的图形。

3)再看BCD这部分,从后序中看到的顺序是BDC,所以C是这部分的根节点,中序序列是BCD,可以断定B在C的左边,D在C的右边。这样,得到如图1-13所示的图形。
 
4)再看看右边的FG这部分,从后序序列FG和中序FG中,可以推出,G是这部分的根节点,而F位于G的左边。得到如图1-14所示的图形。

5)根据以上步骤合成一个二叉树,如图1-15所示。
 
6)写出前序遍历序列:EACBDGF。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站