スライド タイトルなし

2015. 7.22
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Keiichi MIYAJIMA
幅優先探索
幅優先探索
v1
v8
v2
v6
v3
v4
v7
v5
図のような無向グラフでの横優先探索とは?
幅優先探索
1
v1
v8
v2
v6
v3
v4
v5
V1からスタートすると・・・
v7
幅優先探索
1
v1
2
v8
v2
v6
v3
v4
v5
まずV2を探索
v7
幅優先探索
1
v1
2
v8
v2
v6
v3
v4
3
v5
次にV6を探索
v7
幅優先探索
1
v1
2
v8
v2
v6
v3
v4
3
v5
次にV7を探索
v7
4
幅優先探索
1
v1
2
v8
v2
v6
v3
v4
3
v5
次にV8を探索
v7
4
5
幅優先探索
1
v1
2
v8
v2
v6
v3
v4
3
5
v7
4
v5
V1と繋がっている全てのノードを探索し終えたの
で、v2からの視点に移る。
幅優先探索
1
v1
2
v8
v2
v3
v4
6
v6
3
5
v7
4
v5
V1は既に探索済みなので、V2からv3を探索
幅優先探索
1
v1
2
v8
v2
v3
v4
7
6
v6
3
v7
4
v5
V2から、横優先の方向でv4を探索
5
幅優先探索
1
v1
2
v8
v2
v3
v4
7
6
v6
3
5
v7
4
v5
V6は既に探索済みなので、視点をV3へ移動
幅優先探索
1
v1
2
v8
v2
v3
v4
7
v6
6
v5
3
5
v7
4
8
V4は既に探索済みなので、V3からv5を探索
本日のまとめ
TCP/IPアプリケーション
• 幅優先探索
本日の課題
教科書p.132 図6.7の有向グラフを隣接リストを
用いて作成し、幅優先探索のプログラムを作
成せよ。
実行結果は、各頂点vnが何番目に探索された
のかを表示するようにせよ。
注意) 表示法については、教科書には記述がない。自分で考える
こと。(自力で作成するorいろいろ調べる)
ヒントとしては、通過した頂点の番号を配列に記憶させるという方
法がある。
グラフの表現
v1
隣接リスト
v5
v2
ポインタ配列で表現する
v3
v1
v2
v3
v2
v1
v3
v3
v2
v4
v1
v3
v5
v1
v4
v5
v5
v4
v4
ポインタ配列の宣言
vertex *adjlist[5];
レポートの〆切と提出先
レポート提出先:
E2棟(旧システム棟)6F606室(宮島教員室)前
レポートBOX
レポート〆切:
7月28日火曜日 PM5:00頃
今後の予定
7月29日 難しい問題とその対応
8月5日 確認試験
レポートは本日分を含めて後2回です。