深度优先搜索(DFS)是一种图搜索算法,它尽可能深入一个分支,然后回溯并探索其他分支。以下是使用C#实现DFS的代码示例:
using System;
using System.Collections.Generic;
class Graph
{
private int V; // 顶点的数量
private List<int>[] adj; // 邻接表
public Graph(int v)
{
V = v;
adj = new List<int>[v];
for (int i = 0; i < v; ++i)
adj[i] = new List<int>();
}
// 添加边
public void AddEdge(int v, int w)
{
adj[v].Add(w); // 添加 w 到 v 的列表中
}
// DFS 递归函数
private void DFSUtil(int v, bool[] visited)
{
// 标记当前节点为已访问并打印
visited[v] = true;
Console.Write(v + " ");
// 递归地访问所有邻接节点
List<int> list = adj[v];
foreach (var n in list)
{
if (!visited[n])
DFSUtil(n, visited);
}
}
// DFS 主函数
public void DFS(int v)
{
// 初始化所有顶点为未访问状态
bool[] visited = new bool[V];
// 调用递归的辅助函数
DFSUtil(

算法&spm=1001.2101.3001.5002&articleId=140685482&d=1&t=3&u=035fefb9b5d54e4b95b87afbee9f169a)
2513

被折叠的 条评论
为什么被折叠?



