トポロジカルソートのアルゴリズム(閉路のない有向グラフDAGのソート)
トポロジカルソートとは、閉路の無い有向グラフ DAG について行うソートです。
左図のDAGを右図のように頂点を一列に並べて、全ての辺の向きが左から右になるようにすることを言います。
閉路のないDAGグラフにおける橋(bridge)を検出するアルゴリズム
無向連結グラフにおいて、「取り除いたときにグラフ全体が非連結になるような辺」を橋と言います。
※「連結」とは任意の2頂点間を行き来できることを言い、「非連結」は逆に行き来できない頂点があることを言います。(くわしくはグラフ ...
グラフにおける関節点(Articulation Points)を検出するアルゴリズム
連結グラフにおける関節点(切断点)とは、「グラフから取り除くと、グラフが非連結になってしまうような頂点」のことを言います。
※「連結」とは任意の2頂点間を行き来できることを言い、「非連結」は逆に行き来できない頂点があること ...
幅優先探索(Breadth First Search)の基本
幅優先探索とは、全探索アルゴリズムの一種です。最短経路を求める際に使用される基本的なアルゴリズムです。
木などのグラフやグラフと同一視できるものを探索する際に良く使われます。深さ優先探索と似ていますが、幅優先探索は始めの状 ...
[AtCoder] ABC146 D – Coloring Edges on Tree (400点)
問題
木構造について、頂点から見た時に自身から伸びる枝に重複が無いように色を塗る。使う色の数の最小値はいくつか?
問題:D – Coloring Edges on Tree
(木構造はグラフの一種と捉 ...
グラフ(Graph)のデータ構造と基本用語の定義
グラフとは
頂点同士がつながっているか(隣接しているか)を表す、辺(エッジ)の集合 ...
頂点(ノード)と、頂点同士の関係を表したデータ構造です。
数学的には、グラフは以下の2つから構成されます。
頂点(ノード)の集合頂点同士がつながっているか(隣接しているか)を表す、辺(エッジ)の集合 ...