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

溫馨提示×

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
清徐县| 凤台县| 金华市| 霞浦县| 通江县| 嘉黎县| 南城县| 蓝山县| 舒城县| 鲜城| 冀州市| 榆社县| 鲁山县| 深水埗区| 金塔县| 北安市| 星子县| 民县| 当阳市| 象州县| 石嘴山市| 深泽县| 十堰市| 昌宁县| 甘德县| 台湾省| 措美县| 若尔盖县| 明光市| 嵊州市| 交城县| 屏山县| 罗山县| 文化| 洪雅县| 稷山县| 芒康县| 饶河县| 旬邑县| 徐水县| 临朐县|