拓扑排序
拓扑排序,是 Toposort 的音译。
对于一个有向无环图,如果顶点
由于只有有向无环图才有拓扑序列,所以有向无环图也叫做拓扑图。
由于顶点
代码:
int head = 1, tail = 0;
for (int i = 1; i <= n; i++) {
if (d[i] == 0) q[++tail] = i;
}
while (head <= tail) {
int u = q[head++];
for (int i : edge[u]) {
if (--d[i] == 0) q[++tail] = i;
}
}