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

溫馨提示×

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
大理市| 勃利县| 广西| 额济纳旗| 南丰县| 怀仁县| 习水县| 宾阳县| 增城市| 和田市| 龙海市| 广河县| 西青区| 宣恩县| 新津县| 开化县| 兴文县| 伽师县| SHOW| 延寿县| 体育| 朝阳县| 图木舒克市| 克东县| 花莲市| 禄丰县| 奉贤区| 密山市| 吴忠市| 定西市| 红河县| 孝感市| 娱乐| 平江县| 牡丹江市| 保德县| 大方县| 漳平市| 开远市| 安平县| 璧山县|