深度优先搜索(Depth-First Search,DFS)是一种常用的图遍历算法,用于遍历或搜索图中的节点。在这篇文章中,我们将讨论如何使用 C# 实现深度优先搜索算法,并提供相应的源代码示例。
深度优先搜索算法的基本原理是从图的起始节点开始,沿着一条路径尽可能深地探索,直到达到最深的节点,然后回溯到前一个节点继续探索。这个过程持续进行,直到遍历完所有的节点。
首先,我们需要定义一个图的数据结构来表示节点和它们之间的连接关系。我们可以使用邻接表或邻接矩阵来表示图,这里我们选择使用邻接表。邻接表是一个以节点为索引的数组,每个节点对应一个链表,链表中的元素表示与该节点直接相连的节点。
下面是用于表示图的节点和邻接表的 C# 类定义:
class GraphNode
{
public int Value {
get; set;