小豪给三位好朋友建了「朋友链」:1—2、2—3、3—1,三人手拉手围成一个圈。存成邻接表后他写了下面的 DFS,却忘了标记来过:
void dfs(int u) {
cout << u << " ";
for (int v : g[u])
dfs(v);
}
从 1 出发调用 dfs(1),接着会发生( )。
- A. 正常输出 1 2 3 后结束
- B. 输出 1 2 3 后数组越界,程序崩溃
- C. 在 1、2、3 之间来回递归,停不下来,直到系统栈耗尽、程序崩溃(爆栈)
- D. 只输出 1,因为其余两人没有新朋友可走