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

溫馨提示×

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
中山市| 繁峙县| 措美县| 苗栗市| 江西省| 彭泽县| 霞浦县| 绵阳市| 泸西县| 察雅县| 洪雅县| 丹江口市| 陵川县| 吴旗县| 苍山县| 松阳县| 临漳县| 麟游县| 大石桥市| 深州市| 吴忠市| 株洲市| 布拖县| 鞍山市| 昆山市| 大足县| 高平市| 汤阴县| 鹤山市| 云阳县| 神农架林区| 芮城县| 平乡县| 望都县| 本溪市| 延庆县| 马龙县| 钟祥市| 寿光市| 屏南县| 抚宁县|