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

溫馨提示×

java treenode如何處理節點廣度優先

小樊
81
2024-11-28 09:23:39
欄目: 編程語言

在Java中,可以使用隊列(Queue)來實現樹的廣度優先遍歷。以下是一個簡單的示例,展示了如何使用隊列處理二叉樹的節點廣度優先遍歷:

首先,定義一個TreeNode類:

public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }
}

接下來,實現廣度優先遍歷的方法:

import java.util.LinkedList;
import java.util.Queue;

public class BinaryTreeBFS {
    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);
        root.right.left = new TreeNode(6);
        root.right.right = new TreeNode(7);

        // 廣度優先遍歷二叉樹
        bfsTraversal(root);
    }

    public static void bfsTraversal(TreeNode root) {
        if (root == null) {
            return;
        }

        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);

        while (!queue.isEmpty()) {
            TreeNode currentNode = queue.poll();
            System.out.print(currentNode.val + " ");

            if (currentNode.left != null) {
                queue.offer(currentNode.left);
            }
            if (currentNode.right != null) {
                queue.offer(currentNode.right);
            }
        }
    }
}

在這個示例中,我們首先創建了一個簡單的二叉樹。然后,我們使用bfsTraversal方法進行廣度優先遍歷。在遍歷過程中,我們使用一個隊列來存儲待訪問的節點。每次從隊列中取出一個節點,然后訪問它的值,并將其左右子節點(如果存在)添加到隊列中。這個過程會一直持續到隊列為空。

0
乃东县| 巨鹿县| 建始县| 鄂伦春自治旗| 彰化县| 新安县| 正安县| 静宁县| 宁明县| 百色市| 苗栗市| 平定县| 屏南县| 凤庆县| 屯留县| 阿克| 剑川县| 酒泉市| 龙陵县| 肥东县| 新干县| 怀集县| 三门县| 凉城县| 盈江县| 洛扎县| 浮梁县| 亚东县| 正安县| 河北区| 鹿邑县| 麻阳| 高唐县| 精河县| 双桥区| 土默特右旗| 志丹县| 徐水县| 高邮市| 文成县| 乌海市|