二叉树是一种常用的树结构,它的每个节点最多只有两个子节点。而对二叉树的遍历
工具/原料
1
notepad++等编辑器
2
gcc等c语言编译器
方法/步骤
1
前序遍历:先访问二叉树的根节点,再访问左子树,最后访问右子树。递归的实现方式如下:
2
中序遍历:先访问二叉树节点的左子树,再访问二叉树节点,最后访问二叉树右子树。递归的实现方式如下:
3
后序遍历:先访问左子树,再访问右子树,最后访问节点。其递归实现如下所示:
4
再每个递归算法中,递归结束条件为判断节点是否为空。当节点为空时,递归结束。三种遍历算法中,唯一区别就是输出当前节点的时机顺序不同。
5
层序遍历:逐层遍历,输出二叉树中每一层数据。要实现层序遍历,我们不仅要输出当前节点的值,还需要保存节点的左右子树指针,以便输出下一层。
6
在进行层序遍历时,记录当前层节点个数以便循环结束。如果当前节点左右子树不为空,则添加到数组中,以便下一循环中遍历。
注意事项
1
递归遍历注意处理遍历结束条件:节点为空
2
层序遍历时需要保存下一层待遍历节点指针