トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3
1
2
5
4
L
擬似コード出典:Wikipedia
Slide 16
Slide 16 text
トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3
1
2
5
4
L
擬似コード出典:Wikipedia
Slide 17
Slide 17 text
トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3
1
2
5
4
L
擬似コード出典:Wikipedia
Slide 18
Slide 18 text
トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3 1
2
5
4
L
擬似コード出典:Wikipedia
Slide 19
Slide 19 text
トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3 1
2
5
4
L
擬似コード出典:Wikipedia
Slide 20
Slide 20 text
トポロジカルソートの実装
L ← トポロジカルソートされた結果の入る空の連結リスト
for each ノード n do
visit(n)
function visit(Node n)
if n をまだ訪れていなければ then
n を訪問済みとして印を付ける
for each n の出力辺 e とその先のノード m do
visit(m)
n を L の先頭に追加
3 1
2 5
4
L
擬似コード出典:Wikipedia