トポロジカルソート計算機 — 依存関係によってタスクを順序付け
このトポロジカルソート計算機は、すべての辺が前のノードから後のノードを指すような有向グラフのノードの有効な順序を求めます — これは依存タスクのスケジューリングに必要な順序そのものです — カーンのアルゴリズムを使用し、グラフにサイクルが含まれているためそのような順序が存在しない場合は明確に報告します。
クイック回答
有向グラフを辺リストとして入力すると、カーンのアルゴリズムによって有効なトポロジカル順序が即座に求められるか、サイクルによって順序付けが不可能であることが検出されます。
有向辺をNodeA->NodeBの形式で入力してください(例:A->B, A->C, B->D)。
トポロジカルソート計算機 — オンラインでカーンのアルゴリズムの使い方
- 1
有向グラフをカンマ区切りの辺リストとして入力します(例:A->B, A->C, B->D)。
- 2
「計算」をクリックして、有効なトポロジカル順序を求めます。
- 3
結果の順序、または順序が存在しない場合はサイクル検出メッセージを確認します。
なぜトポロジカルソート計算機 — オンラインでカーンのアルゴリズムを使うのか?
トポロジカルソートは、有向非巡回グラフのノードを、すべての辺が前方を指すような一列に配置します — これは、依存関係のあるタスクをスケジュールしたり、ファイルを正しい順序でコンパイルしたり、パッケージのインストール順序を解決したりするために必要な構造そのものです。カーンのアルゴリズムはそれを直接求めます:残りの入辺を持たないノードを繰り返し削除して順序に追加し、進むにつれて残りのグラフを更新します。すべてのノードが配置される前に削除可能なノードがなくなった場合、グラフにはサイクルが含まれているに違いなく、有効な順序がまったく存在しないことを意味します — この計算機は、部分的または誤った順序を返す代わりに、その場合を明示的に検出します。