🧭 DFS 拓扑排序 可拖拽 · 自由布局
未访问
访问中
已完成
有向箭头
🔴 当前节点 | ⏱️ 完成序号
📝 当前动作
准备开始 DFS(外部循环从 0 开始)
⏳ 等待排序...
1void dfs(int v) {
2 color[v] = GRAY; // 进入
3 for (int u : adj[v]) { // 邻居
4 if (color[u] == WHITE) {
5 dfs(u); // 递归
6 }
7 }
8 color[v] = BLACK; // 回溯
9 finish.push_back(v); // 压栈
10}
11// 外部循环:从 0 到 n-1
12for (int i = 0; i < n; i++) {
13 if (color[i] == WHITE) dfs(i);
14}
速度
500ms
0 / 0