1、前序遍历:先访问二叉树的根节点,再访问左子树,最后访问右子树。递归的实现方式如下:
2、中序遍历:先访问二叉树节点的左子树,再访问二叉树节点,最后访问二叉树右子树。递归的实现方式如下:
3、后序遍历:先访问左子树,再访问右子树,最后访问节点。其递归实现如下所示:
4、再每个递归算法中,递归结束条件为判断节点是否为空。当节点为空时,递归结束。三种遍历算法中,唯一区别就是输出当前节点的时机顺序不同。
5、层序遍挽翔庠钒历:逐层遍历,输出二叉树中每一层数据。要实现层序遍历,我们不仅要输出当前节点的值,还需要保存节点的左右子树指针,以便输出下一层。
6、在进行层序遍历时,记录当前层节点个数以便循环结束。如果当前节点左右子树不为空,则添加到数组中,以便下一循环中遍历。