グラフ(graph)の話

グラフの表現方法

 辺行列(edge matrix)

 接続行列(incident matrix)

 隣接行列(adjacency matrix)

 隣接点リスト(adjacency list)

 例

 a $B=\left(\begin{array}{c} 1 & 2\\ 1 & 3\\ 3 & 2\\ 4 & 3\\ 4 & 5\\ 5 & 4\\ \end{array}\right)$ $M=\left(\begin{array}{c} -1 & -1 & 0 & 0 & 0 & 0\\ +1 & 0 & +1 & 0 & 0 & 0\\ 0 & +1 & -1 & +1 & 0 & 0\\ 0 & 0 & 0 & -1 & -1 & +1\\ 0 & 0 & 0 & 0 & +1 & -1\\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{array}\right)$
グラフ辺行列接続行列
$A=\left(\begin{array}{c} 0 & 1 & 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 1 & 0 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{array}\right)$  
隣接行列隣接点リスト

有向木(directed tree)cf 無向木へ

2分木(binary tree)

木の走査(traverse)

 木$T$の根$r$が子$v_1,\ v_2,\dots,\ v_k\ (k>0)$を持っているとする. $k=0$のとき,$T$は1個頂点$r$だけからなる木とする.

 先行順走査(preorder traverse)

 後行順走査(postorder traverse)

 中間順走査(inorder traverse)

無向木(undirected tree)cf 有向木へ

ラベル付きグラフ(labeled graph)

重み付きグラフ(weighted graph)