documentation_of |
---|
//graph/others/eulerian-trail.hpp |
有向/無向グラフが与えられたときに, グラフの全ての辺をちょうど
連結なグラフでオイラー閉路が存在する必要十分条件は, 有向グラフでは全ての頂点について入次数と出次数が等しいこと, 無向グラフでは全ての頂点の次数が偶数であることである.
連結なグラフでオイラー路が存在する必要十分条件は, オイラー閉路の条件にマッチするかどうかに加えて, 有向グラフでは入次数と出次数の差が
-
add_edge(a, b)
: 頂点a
,b
間に辺をはる. -
enumerate_eulerian_trail()
: すべての連結成分についてオイラー路を列挙し, オイラー路の辺の idx の列を結合したものを返す. オイラー路が存在しない連結成分があるとき空列を返す. -
enumerate_semi_eulerian_trail()
: すべての連結成分について準オイラー路を列挙し, 準オイラー路の辺の idx の列を結合したものを返す. 準オイラー路が存在しない連結成分があるとき空列を返す. -
get_edge(idx)
:idx
番目に追加した辺の${from, to}$ を返す.