亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
湘乡市| 海城市| 沂源县| 锡林郭勒盟| 富蕴县| 平凉市| 邛崃市| 开阳县| 修武县| 灯塔市| 黄骅市| 于田县| 鹤壁市| 山丹县| 房产| 依安县| 临颍县| 石渠县| 广宗县| 淮安市| 府谷县| 邢台市| 雅安市| 五河县| 钦州市| 高陵县| 旬邑县| 百色市| 蓝山县| 湖口县| 沭阳县| 巴东县| 连州市| 吉林市| 赣州市| 泽普县| 古丈县| 宣武区| 龙州县| 新乐市| 莲花县|