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

溫馨提示×

c#二叉樹的深度優先搜索實現

c#
小樊
81
2024-07-26 02:41:15
欄目: 編程語言

在C#中,可以使用遞歸的方式實現二叉樹的深度優先搜索。以下是一個示例代碼:

using System;

public class Node
{
    public int data;
    public Node left, right;

    public Node(int item)
    {
        data = item;
        left = right = null;
    }
}

public class BinaryTree
{
    Node root;

    public BinaryTree()
    {
        root = null;
    }

    private void DepthFirstSearch(Node node)
    {
        if (node == null)
            return;

        Console.Write(node.data + " ");

        DepthFirstSearch(node.left);

        DepthFirstSearch(node.right);
    }

    public void DepthFirstSearch()
    {
        DepthFirstSearch(root);
    }

    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);

        Console.WriteLine("Depth First Search of binary tree is: ");
        tree.DepthFirstSearch();
    }
}

在上面的示例中,首先定義了一個Node類來表示二叉樹的節點,然后定義了一個BinaryTree類來表示二叉樹。DepthFirstSearch方法用于遞歸地進行深度優先搜索,先訪問當前節點,然后分別遞歸訪問左子樹和右子樹。在Main方法中,創建一個二叉樹并調用DepthFirstSearch方法進行深度優先搜索。

0
南康市| 黔东| 延吉市| 宣武区| 集贤县| 积石山| 德化县| 长海县| 拉孜县| 宣武区| 临沭县| 巴青县| 庆元县| 邵阳市| 喀什市| 盖州市| 苏尼特左旗| 县级市| 洛扎县| 临高县| 大理市| 南昌市| 周宁县| 大同市| 壶关县| 鹤庆县| 开平市| 呼伦贝尔市| 竹溪县| 香港| 达拉特旗| 塔城市| 什邡市| 昔阳县| 江西省| 阜康市| 黑山县| 观塘区| 繁峙县| 梅河口市| 奉节县|