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

溫馨提示×

c#二叉樹的寬度優先搜索策略

c#
小樊
82
2024-07-26 02:47:19
欄目: 編程語言

在C#中,可以使用隊列來實現二叉樹的寬度優先搜索(BFS)策略。具體步驟如下:

  1. 創建一個隊列,并將根節點加入隊列中。
  2. 循環執行以下步驟,直到隊列為空: a. 從隊列中取出一個節點。 b. 如果該節點存在左子節點,則將左子節點加入隊列中。 c. 如果該節點存在右子節點,則將右子節點加入隊列中。 d. 處理當前節點的值(例如打印、保存等)。

下面是一個示例代碼,通過寬度優先搜索策略遍歷二叉樹:

using System;
using System.Collections.Generic;

public class Node {
    public int value;
    public Node left;
    public Node right;

    public Node(int value) {
        this.value = value;
    }
}

public class BinaryTree {
    public Node root;

    public void BFS() {
        Queue<Node> queue = new Queue<Node>();
        queue.Enqueue(root);

        while (queue.Count > 0) {
            Node current = queue.Dequeue();
            Console.WriteLine(current.value);

            if (current.left != null) {
                queue.Enqueue(current.left);
            }
            if (current.right != null) {
                queue.Enqueue(current.right);
            }
        }
    }
}

public class Program {
    public static void Main() {
        BinaryTree tree = new BinaryTree();
        tree.root = new Node(1);
        tree.root.left = new Node(2);
        tree.root.right = new Node(3);
        tree.root.left.left = new Node(4);
        tree.root.left.right = new Node(5);

        tree.BFS();
    }
}

以上代碼演示了如何使用寬度優先搜索策略遍歷二叉樹,并輸出節點的值。您可以根據需要對處理節點的值進行修改。

0
祁阳县| 岑巩县| 崇州市| 镇江市| 景德镇市| 滨海县| 乳山市| 泰宁县| 广宗县| 年辖:市辖区| 惠东县| 武清区| 四会市| 绥江县| 永昌县| 呼玛县| 株洲市| 区。| 介休市| 逊克县| 大丰市| 海阳市| 塔城市| 旬邑县| 佛学| 衡山县| 五河县| 清原| 会理县| 驻马店市| 漳州市| 游戏| 全州县| 辽中县| 蓬安县| 深圳市| 唐海县| 武平县| 商洛市| 辽阳市| 瑞安市|