C语言中二叉树中序遍历怎么执行?
程序员文章站
2022-03-06 16:32:57
...
C语言中二叉树中序遍历的方法:首先遍历左子树,并借助递归继续访问直到最左侧节点;然后访问根结点;最后遍历右子树,并借助递归继续访问直到最右侧节点即可。
C语言中二叉树中序遍历的方法:
中序遍历的规则是:左子树---> 根结点 ---> 右子树。所以我们访问节点的顺序需要变。
我们直到递归是来回的过程,对于恰好有两个子节点(子节点无节点)的节点来说。只需要访问一次左节点,访问根,访问右节点。即可。
而如果两侧有节点来说。每个节点都要满足中序遍历的规则。我们从根先访问左节点。到了左节点这儿左节点又变成一颗子树,也要满足中序遍历要求。所以就要先访问左节点的左节点(如果存在)。那么如果你这样想,规则虽然懂了。但是也太复杂了。那么我们借助递归。因为它的子问题和根节点的问题一致,只是范围减小了。所以我们使用递归思想来解决。
那么递归的逻辑为:考虑特殊情况(特殊就直接访问)不进行递归否则递归的访问左子树(让左子树执行相同函数,特殊就停止递归输出,不特殊就一直找下去直到最左侧节点。)——>输出该节点—>递归的访问右子树.
public void zhongxu(node t)// 中序遍历 中序遍历:左子树---> 根结点 ---> 右子树 { if (t != null) { zhongxu(t.left); System.out.print(t.value + " ");// 访问完左节点访问当前节点 zhongxu(t.right); } }
相关学习推荐:C视频教程
以上就是C语言中二叉树中序遍历怎么执行?的详细内容,更多请关注其它相关文章!
推荐阅读
-
C语言实现线索二叉树的前中后创建和遍历详解
-
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
-
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
-
[PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
-
c/c++ 用前序和中序,或者中序和后序,创建二叉树
-
Python实现二叉树前序、中序、后序及层次遍历示例代码
-
【算法】二叉树的前序、中序、后序、层序遍历和还原。
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
-
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
-
C++实现LeetCode(105.由先序和中序遍历建立二叉树)