条件:
1.每个顶点出现且只出现一次。
2.若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。
有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。
一般用有向边指示顺序关系,运用于顺序关系。
例如,下面这个图:
显然是一个DAG图,1→4表示4的入度+1,4是1的邻接点,
代码表示:前者deg[4]++;后者用vector[1].push(4)
如何写出拓扑排序代码?
1.首先将边与边的关系确定,建立好入度表和邻接表。
2.从入度为0的点开始删除,如上图显然是1的入度为0,先删除。