_dfs.c
来自「数据类型和算法库LEDA 数据类型和算法库LEDA」· C语言 代码 · 共 53 行
C
53 行
/*******************************************************************************
+
+ LEDA 3.0
+
+
+ _dfs.c
+
+
+ Copyright (c) 1992 by Max-Planck-Institut fuer Informatik
+ Im Stadtwald, 6600 Saarbruecken, FRG
+ All rights reserved.
+
*******************************************************************************/
/*******************************************************************************
* *
* DFS (depth first search) *
* *
*******************************************************************************/
#include <LEDA/graph_alg.h>
#include <LEDA/b_stack.h>
list<node> DFS(const graph& G, node v, node_array<int>& reached)
{
list<node> L;
b_stack<node> S(G.number_of_nodes());
node w;
if (!reached[v])
{ reached[v] = true;
L.append(v);
S.push(v);
}
while (!S.empty())
{ v = S.pop();
forall_adj_nodes(w,v)
if (!reached[w])
{ reached[w] = true;
L.append(w);
S.push(w);
}
}
return L;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?