グラフと木

2.728 visualizaciones

Publicado el

競技プログラミング練習会2014 Normalで使ったスライドです。グラフと木に関する用語についてまとめています。

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.728
En SlideShare
0
De insertados
0
Número de insertados
672
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

グラフと木

  1. 1. グラフと木
  2. 2. グラフ ●頂点と辺の集合 ●辺は頂点と頂点を結ぶ ●辺に向きがあるものを有向グラフ、向きのない ものを無向グラフという 頂点 辺 無向グラフ
  3. 3. グラフ ●頂点と辺の集合 ●辺は頂点と頂点を結ぶ ●辺に向きがあるものを有向グラフ、向きのない ものを無向グラフという 頂点 辺 有向グラフ
  4. 4. グラフに関する用語 ●道(パス):一続きの頂点の列
  5. 5. グラフに関する用語 ●閉路(サイクル):始点と終点が同じパス
  6. 6. グラフに関する用語 ●距離:2頂点を結ぶ最短の道の長さ 距離: 2
  7. 7. グラフに関する用語 ●直径:距離の最大値 直径: 2
  8. 8. グラフに関する用語 ●ループ:辺の両端が同じ頂点になっているもの
  9. 9. グラフに関する用語 ●多重辺:辺の両端の組が等しい複数の辺
  10. 10. グラフに関する用語 ●単純グラフ:ループも多重辺も無いグラフ 単純グラフでない
  11. 11. グラフに関する用語 ●単純グラフ:ループも多重辺も無いグラフ 単純グラフである
  12. 12. グラフに関する用語 ●連結グラフ:どの2点間にも道があるグラフ 連結でない
  13. 13. グラフに関する用語 ●連結グラフ:どの2点間にも道があるグラフ 連結である
  14. 14. グラフに関する用語 ●次数:頂点に接続している辺の本数 3 4 5 4 5 3
  15. 15. グラフに関する用語 ●正則グラフ:全頂点の次数が等しいグラフ 4 4 4 4 4 4
  16. 16. グラフに関する用語 ●完全グラフ:どの2点間にも辺があるグラフ
  17. 17. プログラムでグラフを扱う ●隣接行列 ●頂点 から頂点 に伸びる辺の数を とする ●辺に情報がある場合、多重辺に対応できない ●メモリの制約上    ぐらいまでしか使えない ●実装は楽 ●隣接リスト ●頂点 から伸びる辺のリストを  に格納する ●多重辺にも対応、頂点数が多くても大丈夫 i j aij n≤1000 i a[i]
  18. 18. プログラムでグラフを扱う ●隣接行列 1 2 3 4 6 5 1 2 3 4 5 6 1 0 2 1 0 0 0 2 2 0 1 1 0 0 3 1 1 0 1 1 1 4 0 1 1 0 1 1 5 0 0 1 1 0 1 6 0 0 1 1 1 1
  19. 19. プログラムでグラフを扱う ●隣接リスト 1 2 3 4 6 5 1 2,2,3 2 1,1,3,4 3 1,2,4,5,6 4 2,3,5,6 5 3,4,6 6 3,4,5,6
  20. 20. 木 ●閉路のない連結グラフを木という ●辺に向きがあるものを有向木、向きがないもの を無向木という
  21. 21. 根付き木 ●頂点の一つを「根」とすることがある ●その頂点の一つ上の頂点を「親」、一つ下の頂 点を「子」と呼ぶ 根 親 子
  22. 22. 根付き木の表現 ●隣接行列、隣接リストを使う ●親の頂点番号を格納した配列でも表現できる ●図にすると根に向かう有向木
  23. 23. 木における全探索 ●根から子をたどっていく ●深さ優先探索、幅優先探索 ●根のない場合は適当な頂点を根にする
  24. 24. グラフにおける全探索 ●すでに通った場所を保存しておく配列を用意 ●各頂点について通ったなら1、通ってないなら0 ●すでに通った場所に行かないように注意すれ ば、木と同じように全探索できる

×