データ構造-6.1図
はじめに-データ構造
データ構造は繰り返し噛む必要があり、開発で発生した問題の答えはいつでも取得できます。
グラフとは
グラフの定義
-
グラフは、頂点Vのセットと頂点E(エッジのセット)間の関係のセットで構成されるデータ構造であり、バイナリの祖先として定義できます。G=(V、E)
-
有向グラフG1は、次のように記述できます。G1=(v1、E1)、ここでv1 = {1,2,2,4}、E1 = {<1,2>、<1,2>、<2,4> <2,4>、<4,1>}(山括弧に注意)
-
無向グラフG2は、次のように記述できます。G2=(v2、E2)、ここでv2 = {1,2,2,4,5}、E2 = {(1,2)、(1,4)、(2、 2)、(2、5)、(2、4)、(2、5)、(4、5)}(括弧に注意)
グラフの基本用語
- 有向グラフと無向グラフ
- この図では、肩がエッジに方向性があることを示している場合、グラフは有向グラフと呼ばれ、そうでない場合は無向グラフと呼ばれます。
- 完全グラフのエッジの数
- 無向グラフ:0 <= e <= n(n-1)
- 有向グラフ:0 <= e <= n(n-1)/ 2
- 密グラフe(エッジの数)>完全なエッジの数の半分
- スパースグラフe(エッジの数)<完全なエッジの数の半分
次数の次数
- 無向グラフの頂点vの次数:無向グラフでは、頂点vの次数は、頂点に接続されているエッジの数を指し、通常はD(v)として表されます。
- 頂点の次数:有向グラフでは、頂点の次数vは、頂点を円弧の頭として持つ円弧の数を指し、ID(v)で表されます。
- 頂点の次数:有向グラフでは、頂点vの次数は、頂点を円弧の尾として持つ円弧の数を指し、OD(v)で表されます。
- 有向グラフの頂点vの次数:有向グラフでは、頂点vの次数は、頂点の次数と次数の合計として定義されます。つまり、D(v)= ID(v)です。 + OD(v)。
連結グラフと強連結グラフ
- 接続されたグラフ(無向グラフを参照して、任意の2つの頂点にvからuへのパスがあります)
- 強く接続されたグラフ(有向グラフを参照すると、任意の2つの頂点にvからuへのパスがあります)
- 無向グラフG =(V、{E})で、任意の2つの頂点v、uに対してvからuへのパスがある場合、Gは連結グラフ(強連結グラフ)と呼ばれます。
通信網
- グラフ内のエッジまたはアークの相関数は重みと呼ばれ、ある頂点から別の頂点までの距離またはコストを示します。加重グラフはネットと呼ばれます。
サブグラフ
- 2つのグラフG =(V、{E})、G1 =(V1、{E1})、V1⊆V、E1⊆Eが与えられた場合、G1はGの部分グラフと呼ばれます。
- 例:(b)、(c)は(a)のサブグラフです
注意
- n個の頂点の接続されたグラフが隣接証明で表される場合、行列には少なくとも2つ(n-1)の非ゼロ要素があります。少なくとも接続されたグラフはツリーと見なすことができ、ツリーeには少なくともn-1個のエッジがあるため、グラフには2(n-1)個の非ゼロ要素があります。