🧭 BFS 拓扑排序 (Kahn) 入度法 · 队列

未处理 在队列中 已输出 有向箭头 🔴 当前出队节点  |  📌 入度

📋 队列 (FIFO)

空

📤 输出序列

空

📝 当前动作

准备开始 BFS(Kahn 算法)
⏳ 等待排序...
1void topologicalSort() { 2 // 计算入度 3 for (int u : adj) 4 for (int v : u) indeg[v]++; 5 // 入度为0的节点入队 6 for (int i = 0; i < n; i++) 7 if (indeg[i] == 0) q.push(i); 8 while (!q.empty()) { 9 int u = q.front(); q.pop(); 10 result.push_back(u); 11 for (int v : adj[u]) { 12 if (--indeg[v] == 0) q.push(v); 13 } 14 } 15 if (result.size() != n) // 存在环 16 // 报告错误 17}
速度 500ms
0 / 0