Graph g ← グラフを生成 List list ← 空のリスト # グラフgに対するトポロジカルソート # リストlistにノードの順番を記録する topologicalSort(): for v ← 0 to g.N - 1: color[v] ← WHITE for v ← 0 to g.N - 1: if color[v] = WHITE: dfs(v) dfs(u): color[u] ← GRAY for v in g.adjLists[u]: if color[v] = WHITE: dfs(v) color[u] ← BLACK list.insert(u) # リスト の先頭にu を追加する