二叉树的遍历

二叉树的遍历有三种方式,如下:
  (1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树。简记根-左-右。
  (2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。 
  (3)后序遍历(LRD),首先遍历左子树,然后遍历右子树,最后访问根结点。简记左-右-根。 

二叉树的遍历_第1张图片

(1)先序遍历

1.以F为根节点,先访问其根节点,访问其节点F

2.以F为根节点,再访问其左子树

        1.以C为根节点,先访问其根节点C

        2.以C为根节点,再访问其左子树,访问节点A,其左子树访问完毕

        3.以C为根节点,最后访问其右子树

                1.以D为根节点,先访问其根节点D

                2.以D为根节点,再访问其左子树,访问节点B,其左子树访问完毕

                3.以D为根节点,最后访问其右子树,无右子树,其右子树访问完毕

                3.以D为根节点的这棵树访问完毕

        3.以C为根节点,其右子树访问完毕

        3.以C为根节点的这棵树访问完毕

2.以F为根节点的左子树访问完毕

3.以F为根节点,最后访问其右子树

        1.以E为根节点,先访问其根节点E

        2.以E为根节点,再访问其左子树,无左子树,左子树访问完毕

        3.以E为根节点,最后访问其右子树,访问其节点G,其右子树访问完毕

        3.以E为根节点的这棵树访问完毕

3.以F为根节点,其右子树访问完毕

3.以F为根节点的这棵树访问完毕

先序遍历结果为: F C A D B E G                                                                                       

(2)中序遍历

1.以F为根节点,先访问其左子树

        1.以C为根节点,先访问其左子树,访问其节点A,其左子树访问完毕

        2.以C为根节点,再访问其根节点C

        3.以C为根节点,最后访问其右子树

                1.以D为根节点,先访问其左子树,访问其节点B,其左子树访问完毕

                2.以D为根节点,再访问其根节点,访问其节点D

                3.以D为根节点,最后访问其右子树,无右子树,其右子树访问完毕

        3.以C为根节点,其右子树访问完毕

        3.以C为根节点的这棵树访问完毕

1.以F为根节点的左子树访问完毕

2.以F为根节点,再访问其根节点,访问其节点F

3.以F为根节点,最后访问其右子树

        1.以E为根节点,先访问其左子树,无左子树,其左子树访问完毕

        2.以E为根节点,再访问其根节点,访问其节点E

        3.以E为根节点,最后访问其右子树,访问其节点G

        3.以E为根节点的这棵树访问完毕

3.以F为根节点,其右子树访问完毕

3.以F为根节点的这棵树访问完毕

中序遍历结果为:A C B D F E G

(3)后序遍历

1.以F给根节点,先访问其左子树

        1.以C为根节点,先访问其左子树,访问节点A,其左子树访问完毕

        2.以C为根节点,再访问其右子树

                1.以D为根节点,先访问其左子树,访问其节点B,其左子树访问完毕

                2.以D为根节点,再访问其右子树,无右子树,其右子树访问完毕

                3.以D为根节点,最后访问其根节点D

                3.以D为根节点的这棵树访问完毕

        2.以C为根节点,其右子树访问完毕

        3.以C为根节点,最后访问其根节点C

        3.以C为根节点的这棵树访问完毕

1.以F为根节点,其左子树访问完毕

2.以F为根节点,访问其右子树

        1.以E为根节点,先访问其左子树,无左子树,其左子树访问完毕

        2.以E为根节点,再访问其右子树,访问其节点G

        3.以E为根节点,最后访问其根节点,访问其节点E

        3.以E为根节点的这棵树访问完毕

2.以F为根节点,其右子树访问完毕

3.以F为根节点,访问其根节点,访问节点F

3.以F为根节点的这棵树访问完毕

后序遍历结果为:A B D C G E F





你可能感兴趣的:(二叉树的遍历)