Topological sort
(include/graph/topological_sort.hpp)
有向グラフをトポロジカルソートする関数が含まれています。
topological_sort(adjacency_list)
隣接リスト(adjacency_list
)で表される有向グラフをトポロジカルソートし、トポロジカル順に並んだ頂点番号の配列(std::vector<int>
)を返します。与えられたグラフに閉路が含まれる場合、返される配列の長さは元のグラフの頂点数よりも小さくなります。
topological_sort<Comp>(adjacency_list)
2 つの頂点番号を引数にとり、第一引数が第二引数よりも真に小さいかを返す比較関数 Comp
を渡してソートすることもできます。このとき、返される配列はトポロジカル順を維持したままなるべく(与えられた比較関数で頂点同士を比較する場合に)辞書式順序が小さいものとなります。
Verified with
Code
Back to top page