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

溫馨提示×

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
拉萨市| 晋城| 汤阴县| 阜南县| 五寨县| 涿州市| 铜梁县| 鸡西市| 新竹市| 铜山县| 九龙坡区| 长阳| 大余县| 海南省| 东兴市| 昌黎县| 巴林右旗| 漳州市| 龙井市| 汽车| 石楼县| 黄山市| 开封县| 东海县| 礼泉县| 仁寿县| 鄂州市| 胶州市| 凉山| 水城县| 三门峡市| 监利县| 小金县| 塘沽区| 西峡县| 大同市| 新宁县| 布拖县| 肃宁县| 赤壁市| 鄂州市|