二叉树的遍历

algorithm Dec 18, 2018

遍历的顺序

  1. 先序遍历: 中左右
  2. 中序遍历: 左中右
  3. 后序遍历: 左右中

Ps:这个是打印顺序也就是访问顺序。在遍历的时候一般都是从根节点,然后到左节点,然后右节点的。但是在访问的过程中先打印谁,后打印谁是看先序遍历( 中左右),中序遍历(左中右),后序遍历(左右中)。我们可以发现其实记忆这个顺序也右一个规律,主要是根节点先访问就是先序遍历,根节点中间访问就是中序遍历,根节点后访问就是后序遍历。

递归实现

前序遍历

 public static void Preorder(Node root) {
        if (root == null) {
            return;
        }

        System.out.println(root.getElement());
        Preorder(root.getLeft());
        Preorder(root.getRight());


    }

中序遍历

    public static void MidOrder(Node root) {
        if (root == null) {
            return;
        }

        MidOrder(root.getLeft());
        System.out.println(root.getElement());
        MidOrder(root.getRight());

    }


后序遍历

    public static void PostOrder(Node root) {
        if (root == null) {
            return;
        }


        PostOrder(root.getLeft());
        PostOrder(root.getRight());
        System.out.println(root.getElement());
    }

总结

递归实现比较容易理解。最近打算好好复习下算法的知识。

zzx

There is my place for writing,coding and reading