回去复习一波
拓扑排序主要用到入度数组indegree 以及一个存图的结构 邻接表,邻接矩阵都可以
在存图的时候会初始化以上数据
然后进行拓扑排序
首先找到入度为0的节点(能跑toposort一定是一个DAG)
标记该节点 (若是按权值有向(比如5>4就是 4->5的有向边) 可以借助拓扑排序来跑出不等关系)(解不等式的题用)
然后切除该节点的所有的边 并减去对应节点的入度
不断重复上述三行 直到程序结束这一个联通分支的节点就都遍历到了
如果跑一边拓扑排序(遍历入度数组)仍有节点的入度不为零 那么就有环在图里