無向グラフ
【例】UnionFind
UnionFind(UnionFind木 - 競プロはじめました)を使えば,次で検出できる.- 辺を張るたびに頂点をマージする
- 新たに$a,b$に辺を張るとき,すでに$a,b$が同じグループに属していれば,この操作で閉路ができる.
DFS
- 訪問した頂点を管理しながらDFSをする.
- ある連結成分(この連結成分の頂点はすべて未訪問)の頂点を一つ選んでDFSを初めて,DFSの途中で訪問した頂点にたどり着いたら閉路がある.
有向グラフ
トポロジカルソート
トポロジカルソートできなければ閉路がある:トポロジカルソート - 競プロはじめました【例】