コンピュータソフトウェア 8. グラフの探索とその応用 田浦 http://www.logos.ic.i.u-tokyo.ac.jp /~tau/lecture/software/ 以下の様々な問題が似たような方 法で効率的に解ける ある頂点sから到達可能な(s →* vとなる)頂点vをすべて列挙 する 無向グラフの連結成分への分解(各連結成分に含まれる頂 点を列挙) 無向グラフの各連結成分の全域木を(ひとつ)見つける DAGのトポロジカルソート 有向グラフの閉路があるかどうかを検査し,あれば見つける 有向グラフの強連結成分への分解 着眼: どの問題も,「ある頂点を基点としてそこから 到達可能な頂点をすべて発見(訪問,到達)す る」という手続き(頂点の探索)の応用 注: トポロジカルソートとは 有向グラフの全頂点を以下の条件を満たすように一列に(v1; v2; ...; vn)ならべ