情報科学 › ソフトウェア設計とテスト › ビルドと依存関係

トポロジカル順の存在と計算

定理 3.2(「ビルドと依存関係」§3) ・ ✓公理まで証明済み

G=(V,E)G = (V, E) を有限の有向グラフとする。

(a) GG がトポロジカル順をもつことと、GG が有向閉路をもたないことは同値である。

(b) 次の算法(Kahn の算法)は隣接リスト表現のもとで O(∣V∣+∣E∣)O(|V| + |E|) 時間で止まる。GG が有向閉路をもたなければ全頂点を出力し、出力した順がトポロジカル順になる。有向閉路をもてば、出力されない頂点が残る。

各頂点 vv の計数 c[v]c[v] を入次数で初期化し、c[v]=0c[v] = 0 の頂点をすべて待ち行列に入れる。待ち行列が空でないかぎり、頂点 uu を 1 つ取り出して出力し、uu から出る各辺 (u,v)(u, v) について c[v]c[v] を 11 減らし、00 になったら vv を待ち行列に入れる。

(c) GG が有向閉路をもたないとき、深さ優先探索の終了時刻 f[v]f[v] の大きい順に頂点を並べたものはトポロジカル順である。これも O(∣V∣+∣E∣)O(|V| + |E|) 時間で求まる。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 7 件、定義なども含めて 7 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 4 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理 証明で参照している 1 件

関連するノック 1 問