91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java二叉樹遍歷算法怎么實現

小億
81
2023-12-13 16:52:41
欄目: 編程語言

在Java中,可以使用遞歸或迭代的方式實現二叉樹的遍歷算法。以下是常用的三種二叉樹遍歷算法的實現:

  1. 前序遍歷(Preorder Traversal):根節點 -> 左子樹 -> 右子樹
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int val) {
        this.val = val;
    }
}

public class BinaryTreeTraversal {
    public void preorderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        System.out.println(root.val);  // 輸出根節點的值
        preorderTraversal(root.left);  // 遞歸遍歷左子樹
        preorderTraversal(root.right);  // 遞歸遍歷右子樹
    }
}
  1. 中序遍歷(Inorder Traversal):左子樹 -> 根節點 -> 右子樹
public class BinaryTreeTraversal {
    public void inorderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        inorderTraversal(root.left);  // 遞歸遍歷左子樹
        System.out.println(root.val);  // 輸出根節點的值
        inorderTraversal(root.right);  // 遞歸遍歷右子樹
    }
}
  1. 后序遍歷(Postorder Traversal):左子樹 -> 右子樹 -> 根節點
public class BinaryTreeTraversal {
    public void postorderTraversal(TreeNode root) {
        if (root == null) {
            return;
        }
        postorderTraversal(root.left);  // 遞歸遍歷左子樹
        postorderTraversal(root.right);  // 遞歸遍歷右子樹
        System.out.println(root.val);  // 輸出根節點的值
    }
}

以上是使用遞歸實現二叉樹遍歷算法的示例代碼。如果要使用迭代的方式實現,可以借助棧(Stack)數據結構來輔助實現。

0
石台县| 团风县| 沁水县| 阿克陶县| 安福县| 惠州市| 肇东市| 西平县| 凤山市| 华亭县| 鹿泉市| 宁乡县| 广饶县| 盐山县| 郧西县| 阜新| 遵义县| 桑日县| 昭苏县| 五寨县| 绥化市| 东光县| 清流县| 杨浦区| 江城| 四川省| 漳平市| 利辛县| 大宁县| 玉树县| 兴宁市| 梅河口市| 玉溪市| 清水河县| 左贡县| 嘉禾县| 凌海市| 麻城市| 天祝| 长寿区| 大兴区|