森林的DFS算法

时间:2016-02-19 21:29:07

标签: c++ algorithm graph tree depth-first-search

我目前正在尝试实现能够在森林上工作的DFS算法。我有一个代表MST的邻接矩阵。可以在下面找到更短的版本。

2   19
17  36
19  20
20  21
36  52
52  67
61  80
62  61
63  62
67  68
67  84
80  102
80  81
81  82
83  63

起初我尝试使用简单的DFS,但正如预期的那样,当组件不再连接时它会失败。主要问题是这只是我需要处理的许多邻接矩阵中的一个。我读到了关于在树林中放置每棵树的虚拟根节点但是这不起作用,因为邻接矩阵表示图像中的超像素并且根据所描绘的内容而改变。因此,我需要帮助查找(如果存在)能够检测不连续性并执行每棵树DFS的算法。

1 个答案:

答案 0 :(得分:1)

非常简单:您已获得节点列表。只需从该列表中删除单个DFS运行所遍历的所有节点,然后从列表的任意节点开始。重复此操作,直到列表为空,并且您已遍历所有树。