日常练习10——树前序中序后序遍历

树的前序遍历,中序遍历,后序遍历 

(1)前序遍历:根+左子树的前序+右子树的前序   

(2)中序遍历:左子树的中序+根+右子树的中序   

(3)后序遍历:左子树的后序+右子树的后序+根  

 

public class Trees {

    private static Node1 createdRoots(){
        Node1 A = new Node1('A');
        Node1 B = new Node1('B');
        Node1 C = new Node1('C');
        Node1 D = new Node1('D');
        Node1 E = new Node1('E');
        Node1 F = new Node1('F');
        Node1 G = new Node1('G');
        Node1 H = new Node1('H');

        A.left = B;B.left = D;D.left = null;D.right =null;B.right = E;
        E.left = null;E.right = H;H.left = null;H.right = null;

        A.right = C;C.left = F;F.left = null;F.right = null;C.right = G;
        G.left = null;G.right = null;
        return A;

    }
public static void preOrderTraversal(Node1 root){  //根+左子树+右子树
        if(root == null){
            return;
        }
        System.out.println(root.value);
        preOrderTraversal(root.left);
        preOrderTraversal(root.right);
    }

    public static void inOrderTraversal(Node1 root){//左子树+根+ 右子树
        if(root == null){
            return;
        }
        inOrderTraversal(root.left);
        System.out.println(root.value);
        inOrderTraversal(root.right);

    }

    public static void postOrderTraversal(Node1 root){  //左子树+右子树+根
        if(root == null){
            return;
        }
        postOrderTraversal(root.left);
        postOrderTraversal(root.right);
        System.out.println(root.value);
    }

     public static void main(String[] args) {
        Node1 root = createdRoots();
        preOrderTraversal(root);
        System.out.println("================================");
        inOrderTraversal(root);
        System.out.println("=================================");
        postOrderTraversal(root);
    }
}

编译结果:

A
B
D
E
H
C
F
G
================================
D
B
E
H
A
F
C
G
=================================
D
H
E
B
F
G
C
A

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值