一起talk C栗子吧(第四十回:C语言实例--遍历二叉树)

本文介绍了二叉树的三种遍历方法:前序、中序和后序遍历,并通过实例展示了每种方法的遍历顺序。前序遍历为ABDFCEGH,中序遍历为DFBACGEH,后序遍历为FDBGHECA。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


各位看官们,大家好,上一回中咱们说的是创建一棵二叉树的例子,这一回咱们说的例子是:遍历二叉树。闲话休提,言归正转。让我们一起talk C栗子吧!


看官们,遍历二叉树其实就是从二叉树中的某个结点开始,沿着一个方向走,直到走完二叉树中所有的结点为止。依据走的方向不同,遍历的方法也不同。常见的遍历方法有以下三种

  • 前序遍历法:先从根结点开始走,然后走该根结点左边的孩子,最后走该结点右边的孩子。
  • 中序遍历法:先从左边的孩子开始走,然后走该孩子的根结点,最后走该孩子右边的兄弟。
  • 后序遍历法:先从左边的孩子开始走,然后该孩子右边的兄弟,最后走该孩子的根结点。

大家对比一下这三种遍历方法就能发现,“前中后”其实说的是根结点在遍历过程中的顺序。比如“前”就表示在遍历过程中最先走根结点。我们还使用上一回中二叉树的图,如下所示:

这里写图片描述

使用三种遍历方法遍历该二叉树的结点如下:

前序遍历法:A B D F C E G H  
中序遍历法:D F B A C G E H 
后序遍历法:F D B G H E C A

下面是程序运行的结果,我们可以看到,运行结果完全符合我们的要求:

Create a Binary Tree 
PreOder Traverse a Binary Tree 
A B D F C E G H 
InOrder Traverse a Binary Tree 
D F B A C G E H 
PostOrder Traverse a Binary Tree 
F D B G H E C A 
Destroy a Binary Tree 

看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。在例子中我们使用的了上一回的代码,除了遍历的代码是新添加的外,其它的代码都一样。

各位看官,关于遍历二叉树的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值