tsortコマンドはトポロジカルソートを行うコマンドです。
トポロジカルソートはジョブのスケジューリング問題に利用されます。
トポロジカルソートとは
トポロジカルソートは、Aのジョブが終わった後にBのジョブを行うといった依存関係があるジョブを行う際に使用されます。
有向非巡回グラフ(directed acyclic graph, DAG)の各ノードを順序付けて、AがBを指すような辺がある場合、Aが先になるように並び替えていきます。
トポロジカルソートは、問題によって、解が一つではない可能性もあります。
tsortコマンドの利用例
トポロジカルソートの例
tsortコマンドは、ファイルまたは標準入力からグラフを示すファイルを読み取り、標準出力にトポロジカルソートの結果を表示します。
文字列は、要素がペアになるように書く必要があり、1つ目の要素が2つ目の要素を指すように記述します。
コマンド例
1 |
tsort graph.txt |
graph.txt
1 2 3 4 5 6 7 |
a b a e d e b e b c c f e f |
graph.txtの図 ▼表示
実行結果
1 2 3 4 5 6 |
a d b c e f |
参考
外部リンクGnu Coreutils
外部リンクGnu Coreutils日本語版