データ構造図第五章のはじめに

まず、図の概念。

定義されたマップ

1、図ツリー構造では、ノード間の階層関係を有し、各層と上部層のノードは、多くても1つの関連するノードであってもよいが、複数のノード、及び関連する層であってもよいです。即ち図の構成では、任意の2つのノード間の月の相関において、隣接ノードとの間の関係は、のいずれであってもよい
。図G: G =(V、E)として示されるVおよびEからなる集合です。 Vは頂点(非空)の集合であり、Eはエッジの集合(NULLであってもよい)であり、エッジ上の頂点のペアを命じ又は順不同れる;(側は2つの頂点間の関係を反映しています)

2、有向グラフは:図のn頂点と(図のすべてのエッジの方向が矢印で示す)の頂点のエッジが順序付けされる対は、完全グラフは、アーク番号nが導か(N-1)
3、。無向グラフ:エッジは、頂点図の非順序対です。有するn頂点が完全グラフを無向するエッジの個数N(1-N)/ 2です

図4は、右、右の写真で:数値姿を来た方、この値は、右と呼ばれています。実際には、右は、一つの頂点から別の頂点間距離、コスト、または費用のように表すことができます。図すべてのエッジは、加重加重図と呼ばれます。

5、頂点、度、度の

  • 無向グラフの頂点vの頂点に関連付けられたエッジの数であり、D(V)と呼びます。
  • Gが有向グラフである場合、アークエンドポイントがVの程度と呼ばれるように頂点vの数を置くために、ID(V)と呼ばれる、出発点として、頂点vへのアークの数は、Vの程度と呼ばれ、 OD(V)として記録。それが度を有するが、描画の度及び頂点v、すなわち、D(V)= ID(Vに等しい )+ OD(V)。

図6に示すように、サブピクチャ:セットG =(V、E)は、E「はEのサブセットであり、V」は場合Vの部分集合であり、E「のみ側面とV」は、頂点に関連付けられた、グラフでありますグラフG '=(V'、Eは 「) 図のサブGと呼ばれています。
図7に示すように、パスは、パスの長さ:不在下で=(V、E)を有向グラフGにおいて、頂点vから頂点v 'へのパスは、頂点の配列である:V、VI1、VI2、... 、VIM、V'、 式(V 、VI1)、(VI1、VI2 )、...、(VIM、V「) 図におけるエッジGとして。Gは、頂点のこの配列の要件を満足有向グラフである場合:<V、VI1>、< VI1、VI2>、...、<VIM、Vを「> Gは、図の円弧です。上部パス(またはアーク)の数は、経路長と呼ばれます。

9、簡単なパスは:最初と最後を除いて、頂点の残りの部分は同じパスではありません。
10、ループ:同じパスの最初と最後の頂点、また、リングと呼ばれる;
11は、回路は単純である:最初のものと同じ単純なパスの最後の頂点;注:回路は、複数の巻きを有することができるが、単純な回路リングを持っています。

スパニングツリーは:結合グラフの最小接続部分グラフのすべての頂点が含まれています。通信グラフGのエッジの数をn頂点の数である場合、G N-1のスパニングツリーです。
Gのサブグラフ、G「のエッジの数よりも多いN-1は、次いで、G」が一定のリングを有しています。
G、Gのサブグラフ「はエッジの数N-1未満である場合、G」はならない通信です。
生成された森-は、非連結グラフにおいて、各連結成分は、スパニングツリーである最小の接続部分グラフを得ることができます。このスパニングツリーは、図の非森林世代通信を構成します。

図の操作:

図GreateGraph(G、V、E)を確立すること➢
➢頂点情報を取得GetVex(G、U)は
➢サイド情報Getarc(G、U、V)かかり
➢第1の近傍クエリFirstVex(G、U)を
次のクエリ➢隣接点NextVex(G、U、V)
➢頂点InsertVex(G、V)を挿入
➢DeleteVex頂点削除(G、V)
➢挿入端InsertArc(G、V、W)
➢削除することによって、エッジDeleteArc(G、V、W)
➢トラバース図トラバース(G、タグ)

第二に、図のストレージ構造。

1、図隣接行列:グラフの各頂点との間の関係を表す行列は、隣接行列は、頂点間の図に関連して説明行列であり、それはプログラミング言語の二次元マトリックスアレイでは達成することが容易です

 

無向グラフ:なし隣接行列の対称行列であり、頂点VIの行の隣接行列要素であるI(又はI番目の列)と。

有向グラフ:頂点VIをOD(VI)の第i行の隣接行列要素及びVI(VI)のIDの頂点であり、i番目の列の隣接行列要素であり

隣接行列の2、図加重(ネット)

 

図3に示すように、隣接テーブル:隣接テーブル記憶方法は、順次記憶し、チェーンの組み合わせに格納されています。

結論:
1)N-頂点、図にないEエッジが、それはノードの隣接リストヘッダは、リスト・ノードの総数は2Eであり、nが、
2)無料で図に、ノードのi番目のリンクリスト。そして、頂点VのI;有向グラフ、アウト度頂点Vを持つノードのi番目のリスト私は
隣接行列州部よりエッジ疎隣接リストで)3;
4)隣接テーブル示すエッジ数の検出隣接行列表現よりも高い効率の観点。

第三に、グラフトラバーサル

図トラバーサル:それぞれにアクセスするためのグラフG、頂点順序から頂点v

繰り返し訪問頂点を克服するために、補助アレイの確立は、[n]を訪問しました。訪問[I] = 1〜I頂点が訪問された、私が訪問していない訪問[I] = 0頂点
トラバーサル方法。

  • 深さ優先探索DFS(同様の先行順)
  • 幅優先探索のBFS(似た階層トラバーサル)

1、図通信深さ優先探索(DFS)

 

 

深さ優先探索アルゴリズムは、次のとおりの再帰アルゴリズムの複雑さ(隣接テーブル)図の深さ優先トラバーサル時間:O(N + E)
深さ優先探索アルゴリズムは、次のとおり図再帰アルゴリズムの深さ優先トラバーサルの複雑さ(隣接行列)時間学位:O(N * N)

2、図通信幅優先探索(BFS)

 

 

接続グラフを決定する:グラフGは、二つのセットが等しい場合は、Gは、接続されたグラフで、または未訪問を説明するために、それは、V(G)とを比較し、頂点のセットを得るために、DFS又はBFS回呼び出され頂点は、従って、図は通信しない
図要件のコンポーネントを接続:各連結成分に一つの頂点トラバーサルを離れることはない、接続されたコンポーネントは、すべての無向グラフを得ることができます。

図3に示すように、最小スパニングツリーは:スパニングツリー最小重みすべてのスパニングツリー図の和の最小スパニングツリーのグラフです。

最小スパニングツリー構成プリム法は:図の密集の右側に最小全域木を見つけるために適合されています

クラスカル最小スパニングツリー(クラスカル)アルゴリズムが:ツリーエッジ疎なネットワークにまたがる最小値を見つけるために適合されています

単一始点最短経路指定された各エッジの重みが非負実数であることを特徴とする請求加重有向グラフG =(V、E)。さらに、所与の頂点V、指定されたソース。互いにソース頂点からの最短経路の長さを計算します。ここで、パスの長さとエッジの重みの値を指します。この問題は、通常、単一始点最短経路問題と呼ばれています。単一ソースの最短経路問題を見つけるためのアルゴリズムDijkstm

第四に、トポロジカル整列

AOVネットワーク:グラフの頂点は、エッジの間の優先順位関係に活動を示す活動を表現する場合は、この活性がAOVネットワークは、図を参照した頂点で表されます。AOVネットワークアークは、アクティビティ間制約の存在をオフに表します

前提条件AOVネットワークトポロジカルソートは、ループ内で許可されていません。

トポロジー的ソートアルゴリズムの時間複雑度は、O(N + E)であります

図トポロジカルソートするアルゴリズムの基本的な手順:

  • (1)図は、頂点の出力の頂点0を選択します。
  • (2)図から頂点とそれに関連するアークを削除するには、アーク調整のアークは、ヘッドノード度(度マイナス1)を削除しました。
  • 頂点の全てを0に出力されるまで(3)を繰り返し(1)、(2)、トポロジカルソートが完了し、又は全く数字0度の頂点です。

非環式有向グラフの任意ことを示すことができ、トポロジーの順序に配置することができるすべての頂点。

 

おすすめ

転載: www.cnblogs.com/jalja365/p/12620811.html