中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java二叉樹遍歷代碼怎么寫

小億
84
2023-11-22 02:52:03
欄目: 編程語言

在Java中,二叉樹的遍歷有三種方式:前序遍歷、中序遍歷和后序遍歷。下面是這三種遍歷方式的代碼示例:

// 定義二叉樹節點
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    
    TreeNode(int val) {
        this.val = val;
    }
}

// 前序遍歷
void preOrderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }
    
    System.out.print(root.val + " ");  // 先訪問根節點
    preOrderTraversal(root.left);      // 再前序遍歷左子樹
    preOrderTraversal(root.right);     // 最后前序遍歷右子樹
}

// 中序遍歷
void inOrderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }
    
    inOrderTraversal(root.left);       // 先中序遍歷左子樹
    System.out.print(root.val + " ");  // 再訪問根節點
    inOrderTraversal(root.right);      // 最后中序遍歷右子樹
}

// 后序遍歷
void postOrderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }
    
    postOrderTraversal(root.left);     // 先后序遍歷左子樹
    postOrderTraversal(root.right);    // 再后序遍歷右子樹
    System.out.print(root.val + " ");  // 最后訪問根節點
}

使用時,可以先構建二叉樹,然后根據需要選擇對應的遍歷方法進行遍歷。例如:

public static void main(String[] args) {
    // 構建二叉樹
    TreeNode root = new TreeNode(1);
    root.left = new TreeNode(2);
    root.right = new TreeNode(3);
    root.left.left = new TreeNode(4);
    root.left.right = new TreeNode(5);
    
    // 前序遍歷
    System.out.println("前序遍歷結果:");
    preOrderTraversal(root);
    
    // 中序遍歷
    System.out.println("\n中序遍歷結果:");
    inOrderTraversal(root);
    
    // 后序遍歷
    System.out.println("\n后序遍歷結果:");
    postOrderTraversal(root);
}

0
徐州市| 五河县| 周至县| 久治县| 永胜县| 凌云县| 怀安县| 仁化县| 邯郸县| 盱眙县| 南宁市| 祥云县| 育儿| 葫芦岛市| 江西省| 竹山县| 梁山县| 安化县| 宿松县| 武清区| 保定市| 曲靖市| 梓潼县| 资兴市| 潜江市| 德惠市| 聂拉木县| 射洪县| 大庆市| 英超| 九江县| 定兴县| 江阴市| 灌阳县| 西青区| 宁阳县| 冕宁县| 吉木萨尔县| 崇左市| 子洲县| 怀来县|