写一个DFS的模板程序
时间: 2023-03-13 22:05:41 浏览: 16
DFS模板.txt
DFS(深度优先搜索)是一种用于遍历树或图的算法。下面是一个通用的DFS模板程序:
```
void DFS(Node root) {
// 将当前节点标记为已访问
root.visited = true;
// 处理当前节点(例如打印出来)
process(root);
// 遍历当前节点的所有邻居
for (Node neighbor : root.neighbors) {
if (!neighbor.visited) {
// 如果邻居没有被访问过,则递归地对它进行DFS
DFS(neighbor);
}
}
}
```
这个算法的时间复杂度是O(n+m),其中n是节点数,m是边数。
注意,如果要遍历整棵树或图,则需要对每个未被访问过的节点调用DFS函数。
希望这个程序对你有帮助!
阅读全文