一句话理解
树的 DFS:先深入儿子再回来。
为什么要学
求父、深、子树、欧拉序。
讲解
dfs(u,fa)。记录入时间、出时间。
例子
void dfs(int u, int f) {
fa[u] = f;
for (int v : g[u]) if (v != f) dfs(v, u);
}
标准树 DFS。
常见错误
- 没传 fa。
- 有环当树搜。
第 301 课
树的 DFS:先深入儿子再回来。
求父、深、子树、欧拉序。
dfs(u,fa)。记录入时间、出时间。
void dfs(int u, int f) {
fa[u] = f;
for (int v : g[u]) if (v != f) dfs(v, u);
}
标准树 DFS。
树 DFS 的第二个参数常常是父亲。
Ctrl / ⌘ + Enter 运行 · Tab 缩进
左右方向键也可翻课