## Kahn 算法
-å°\86å\85¥åº¦ä¸º $0$ ç\9a\84ç\82¹ç»\84æ\88\90ä¸\80个é\9b\86å\90\88 $S$
+å\88\9då§\8bç\8a¶æ\80\81ä¸\8bï¼\8cé\9b\86å\90\88 $S$ è£\85ç\9d\80æ\89\80æ\9c\89å\85¥åº¦ä¸º $0$ ç\9a\84ç\82¹ï¼\8c$L$ æ\98¯ä¸\80个空å\88\97表ã\80\82
-每次从 $S$ 里面取出一个顶点 $u$ (可以随便取)放入 $L$ , 然后遍历顶点 $u$ 的所有边 $(u, v_1), (u, v_2), (u, v_3) \cdots$ , 并删除,并判断如果该边的另一个顶点,如果在移除这一条边后入度为 $0$ , 那么就将这个顶点放入集合 $L$ 中。不断地重复取出顶点然后……
+每次从 $S$ 中取出一个点 $u$ (可以随便取)放入 $L$ , 然后将 $u$ 的所有边 $(u, v_1), (u, v_2), (u, v_3) \cdots$ 删除。对于边 $(u, v)$,若将该边删除后点 $v$ 的入度变为 $0$,则将 $v$ 放入 $S$中。
-最后当集合为空后,就检查图中是否存在任何边。如果有,那么这个图一定有环路,否者返回 $L$ , $L$ 中顺序就是拓扑排序的结果
+不断重复以上过程,直到集合 $S$ 为空。检查图中是否存在任何边,如果有,那么这个图一定有环路,否则返回 $L$ , $L$ 中顶点的顺序就是拓扑排序的结果。
首先看来自 [Wikipedia](https://en.wikipedia.org/wiki/Topological_sorting#Kahn's_algorithm) 的伪代码
return L (a topologically sortedorder)
```
-代码的核心是,是维持一个入度为 0 的顶点。
+代码的核心是维持一个入度为 0 的顶点的集合。
可以参考该图