-
Notifications
You must be signed in to change notification settings - Fork 0
/
グラフ構造.rdr
71 lines (71 loc) · 3.27 KB
/
グラフ構造.rdr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
グラフ構造とは
+隣接行列:行列
+ラベル:配列
-フォント名:文字列
-大きさ:整数
はじめ(V)の手順
隣接行列は,行列(V,V)を作ったもの。
V回【あ】にカウントして繰り返す
ラベル(あ)は,あ。
繰り返し終わり。
大きさは,V。
フォント名は,「」。
終わり
はじめ(V,F)の手順
隣接行列は,行列(V,V)を作ったもの。
V回【あ】にカウントして繰り返す
ラベル(あ)は,あ。
繰り返し終わり。
大きさは,V。
フォント名は,「node [[]fontname = "[F]"[]];[改行]」。
終わり
自分で【始点:整数】から【終点:整数】にエッジを引く手順
隣接行列の中身(始点,終点)は,1。
終わり
自分で【始点:文字列】から【終点:文字列】にエッジを引く手順
隣接行列の中身([ラベルから始点を完全一致で探したもの](1),[ラベルから終点を完全一致で探したもの](1))は,1。
終わり
自分を有向グラフとして描画する手順
【ドット:文字列】は,「」。
ドットは,ドット&「digraph{[改行][フォント名]」。
大きさ回,【行】にカウントして繰り返す
大きさ回,【列】にカウントして繰り返す
もし隣接行列の中身(行,列)が1なら
ドットは,ドット&「[タブ]"[ラベル(行)]" -> "[ラベル(列)]";[改行]」。
もし終わり
繰り返し終わり
繰り返し終わり
ドットは,ドット&「}」。
ドットをよしなにする。
終わり
自分を無向グラフとして描画する手順
【ドット:文字列】は,「」。
ドットは,ドット&「graph{[改行][フォント名]」。
大きさ回,【行】にカウントして繰り返す
大きさ回,【列】にカウントして繰り返す
もし隣接行列の中身(行,列)が1なら
もし(行<=列)または(隣接行列の中身(列,行)が0)なら
ドットは,ドット&「[タブ]"[ラベル(行)]" -- "[ラベル(列)]";[改行]」。
もし終わり
もし終わり
繰り返し終わり
繰り返し終わり
ドットは,ドット&「}」。
ドットをよしなにする。
終わり
【ドットデータ:文字列】をよしなにする手順
ドットデータを「_temp.dot」へ「UTF8」で保存する。
「dot.exe」を「-Tpng -O _temp.dot」として起動して待つ。
グラフ画像という画像(「_temp.dot.png」)を作る。
画像表示というウィンドウを作る。
その実質大きさは,グラフ画像の大きさ。
そのタイトルは,「グラフ」。
画像表示へ画像領域というピクチャーを作る。
その位置は,{0,0}。
その大きさは,画像表示の実質大きさ。
その画像は,グラフ画像。
画像表示を表示。
「_temp.dot」を削除する。
「_temp.dot.png」を削除する。
終わり
終わり