树遍历 二叉树的中序遍历 C 语言示例代码
1。简介
继续下面三句话:
前序遍历:根左右
中序遍历:左根右
后序根转移 上面我们遇到了前序遍历:顺序遍历。在这篇文章中,我们就按顺序开始学习复习。顺序遍历采用左根右遍历。如图是最容易的。对于二叉树遍历来说,按顺序遍历的过程是先B,再A,再C。
![]()
实际的二叉树没那么简单。它必须由多个节点组成。如图表示,当我们第一次访问时,我们穿过ABC,按照左根和右根的顺序,我们穿过B。现在不用担心。 B也是BDG的根节点,所以我们必须继续向下遍历。此时我们转到DEF,E就属于它。左节点在一个组中,所以我们按照根和左的顺序得到第一个遍历效果,EDF。这个EDF也被用作BDG中的左节点(将EDF视为一个整体)进行回溯。此时,访问节点的顺序为EDFBG。类似地,EDFBG是ABC的左节点。按照左根右根的顺序,EDFBGAC,先打开左半部分,再打开右半部分。我们将^CH(^表示空)视为Left Center Right的集合,而C由EDFBGAC组成,所以最终的遍历顺序为:EDFBGACH
![]()
2。代码实现
继续上面的代码,使用智能递归,与之前的代码只有一个顺序。区别:
//树的顺序遍历void ❀inorder Node*节点){ if (node!= NULL) de->left); printf ("%d ",node->data ;通用表达式算术或逻辑公式的方法。中缀表达式是也是我们最常用的表达方式,也是最容易让人理解的表达方式。 |
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网