図-6のデータ構造

七、図

1.基本概念

頂点V、頂点関係の組VR
①頂点(前記頂点との間の差としてツリー内のノード)は、図のデータ要素が参照され、頂点

②頂点との関係は、VR設定
グラフの頂点の集合をなし:E(エッジ集合)
A(アーク電流):頂点の有向グラフの組を

③アーク(図はエッジ指向)
→W V:端点/ヘッドアーク(ここで、矢印)wはVは、アークの開始点/終了します



着信側の頂点に隣接する頂点の数:無向グラフ

有向グラフ:頂点の頂点番号の頭にアークと呼ば
尾の頂点と呼ばれるの頂点の数であるために


ネットワークは:グラフのエッジの右側でもネットワークとしても知られている、重み付きグラフと呼ばれ

有向および無向完全グラフ完全グラフ
N頂点を持つ完全なグラフはN(N-1)/ 2縁有する無向
n個のノードの完全グラフを持っているがnいる(N-1)エッジを


パス、ループ
経路:偶数次からなる頂点の連続した配列
経路長:パス上側の数
ような(D、C)としては、(C 、B)は長さ2のパス

シンプルパス:パスは、頂点の順序を繰り返しません

ループ:最初のパスと最後の頂点同じ頂点

単純なループ:頂点図形の順序、最初と最後の頂点同じ頂点を除いて、他の繰り返しループの頂点は発生しません。

強く図接続図通信、。

図:(任意の通信①無向グラフ)は、2つの頂点間のパス(通信)している
(非接続無向グラフ)は、最大通信コンポーネント接続サブグラフと称します

頂点nはない少なくともN-1グラフ接続されたエッジ有します

②図:(強連結有向グラフ)の任意の2つの頂点VI、VJ。VJに、VJ VIはパス有しVI
最大強連結部分グラフ強連結成分として(非接続有向グラフは)と呼ば
有するnは少なくともnにおける弧の強連結グラフのノード


2.特別なグラフ

ダイレクトツリー

頂点に正確の有向グラフが0である場合、頂点の残りは1であり、それが向けられた木です。

有向非巡回グラフ(DAG)

非環式有向グラフ

これは、環が有しているか否かを判断する①②有向グラフトポロジカルソートの深さ優先トラバーサル


図3の記憶構造。

3-1隣接行列(シーケンシャルストレージ)

空間隣接行列は密行列の適切な側面の数にかかわらず、に関連する図面でのみストレージノードポイントの数を占める⇒

(1)無向グラフ:
A [I] [J] = 1、I頂点jに隣接する頂点の

A [i]は[J] = 0、i、jは隣接しない頂点の頂点(iはjが含ま=)

これは、隣接行列なし対称行列であります


(2)有向グラフ:
A [I] [J] = Wijを、IF(VI、VJ)、または<VI、VJ>∈VR

A [i]は[J] =∞、及びその逆(私はJ =含みます)


3-2隣接リスト(チェーン店)

テーブル番号と図面と好適な疎行列約エッジに関連するノードの数の数に隣接する収納スペース⇒

(1)各ノード、すなわち、リストヘッダ(情報)ストレージノード側の残りについて、情報を格納する単一の頂点のための単一のリストの各頂点のための単一のリストを確立するためのI。

(2)単一の頂点は、頂点リストとテーブル部縁部テーブルにより隣接頂点と現在の頂点番号に接続されたエッジリスト記憶ノードと次のノード側へのポインタを理解することができます

(3)すべてのノードヘッダノード(頂点ノード)の単一のリストを順次配列に格納されています

(4)①有向グラフの隣接リスト:ヘッド内の各円弧の各頂点ポイントのために格納単一リンクリスト。
②有向グラフの隣接リストを逆:円弧の端部に円弧の各頂点ポイントのために格納単一リンクリスト

隣接する複数のテーブル3-3:デュアル側隣接テーブル

同じシリーズで、リスト内のすべての頂点の同じ側に取り付けられ

リストの二つのリンクを同時に(頂点)でこのように各エッジノード


4.ループ



深さ優先探索トラバーサル(擬似コード)

予約限定同様のツリートラバーサル

思想:
アクセス可能としてマークされている最初の訪問開始点V;
wは任意Vに隣接する未訪問の頂点を選択し、アクセスして、
任意のWと隣接する未訪問の頂点を選択し、繰り返しの訪問行きました。
隣接するすべての頂点の頂点が古い訪問されている場合は、その後、最近訪れた頂点に引き返します

アプリケーション/テストセンター

1.再帰スタックステージング手段⇒ノード

2.深さ優先(DFS)を検索し、通信分岐を横断することができます。
すべてのノードにアクセスするには、(K)は、時間深さ優先トラバーサルアルゴリズムを呼び出す必要があり
、図に呼ぶK連結成分(K)第一トラバースアルゴリズムの深さ回

全てのノード、通信マスト図図(一方のみ連結成分)にアクセスするDFS後、グラフの頂点のいずれかに出発決して

169の教科書


図かループ/ループ付き/なしの3分析缶
(1)無向グラフ:DFS遭遇背面側(頂点の側が訪問されている)⇒リングが存在しなければなりません

(2)有向グラフ:jは頂点v(V→j)の既知のスパニングツリーの頂点の子孫である
場合DFS(v)の終了前に図⇒頂点v jに頂点から(V jの→)片側を表示しますVおよびJリングであって、存在しなければなりません

(Tianqin 216から16)

前記有向非巡回グラフ、深さ優先トラバーサル方法のトポロジカルソートがあってもよいです。
対応する頂点を印刷、逆トポロジーリターンスタックから頂点シーケンス出力が押されます

183の教科書



BFSトラバーサル(擬似コード)

ツリーをトラバース同様のレベル(同じキューを使用する必要があります)

思想:最初の訪問は、頂点vを開始し、
その後、隣接する頂点のすべてを選択するには、W1 ... WNアクセスをV
ターンはW1 ...(すでに訪問を除く)全ての隣接頂点のWNにアクセスして、というように。


アルゴリズムの実行:①訪問したとして、図に頂点アクセスエンキューを取り、頂点がマークのいずれか

ループが実行されたときにキューが空でない場合②:デキュー、すべてのデキューの頂点の隣接頂点をチェックし、アクセスが隣接する頂点とエンキューを訪問されていません

ループの③チームのうちは空です

アプリケーション

(図に相当する権利)同じ重量の各側は、幅優先探索のトラバーサルは、単一始点最短経路問題解決するために使用することができる1
ソースからの最短経路の残りの頂点には⇒常に

等しいため/、BFS源は常に近くから遠くまで横断する距離(0度)に応じて図。図1の右側には権利がない
スパニングツリー理解されるように距離が(ソースパス上の現在の頂点の頂点の数を指し層の数)

(Tianqin 216から17)

一時的にノードを格納するための2のキュー手段


時間複雑

図は、見つけるためにプロセスの各頂点に実質的に隣接する横断
⇒+隣に隣接したエッジの頂点を見つけるためにルックアップを
明らかに(メモリ構造に応じて)深さ/幅トラバーサル同時に複雑であるが、異なる頂点アクセス順序


(1)隣接行列:時間計算量はO(n²)である
隣接行列記憶部にかかわらず<Viと、Vjが>パスが存在するか否かを、各側が横断します。
マトリクスサイズN×N個、すなわち、Oの時間複雑度(n²)

(2)表、0(N + E)の時間複雑に隣接する
隣接テーブル記憶の使用は、各ノードのアクセス時間のために、各パスは、サイドアクセスを持っている場合、時間計算量はO(N + E)



テストサイト:

図4のストレージ構造のその頂点トラバーサル順序とは無関係無し。


(と/無向)スパニングツリー

図なし非スパニングツリー通信

深度/幅優先探索(世代)ツリー:保持側の間に経験図深度/幅優先探索トラバーサル、残りの側面は木が形成され、削除

(無向グラフの)最小スパニングツリー

n個の頂点を持つ通信加重最小スパニングツリー(無向)グラフ:側の重量と頂点のn個の通信サブグラフの最小和

Nは、N-1辺スパニングツリー、頂点。


(1)プリム隣接アルゴリズム(擬似)

選択された時間に小さなリップを破棄するように構成された各時間(選択された側で)、隣接する辺の(選択されたエッジに接続された)最小の側を選択回路

時間計算量は、グラフの頂点のみ(辺の数とは無関係に)⇒図適切な緻密に関連して、0(n²)であります

各点隣接行列隣接最小重量必須エッジ0(n)は時間を見つけます

総合タイトル(絵画表):13年全体の七タイトルで2007年第六タイトル全体的なタイトル/タイトル


(2)クラスカル(ダミー)

辺のそれぞれの最小辺を選択すると、選択、および(選択されたエッジ)は第2の最小側を選択するように構成された回路を放棄されていません

時間計算(elog₂e)、グラフのエッジEの数は(かかわらず、頂点の数の)疎に適用⇒

旅行ヒープソート⇒0(log₂e)を見つけるために最小重量はでE側
番目eから選択される⇒0(elog₂e)


テストサイト

1:最小スパニングツリーのコストだけ

2:最小重量エッジは、必ずしも最小スパニングツリーのすべてに表示されません

3:ツリー(モルフォロジー)をスパニンググラフ(または通信)が必ずしも唯一ではありません

4:形態プリムと最小スパニングツリーアルゴリズムは常にkrustal違いはありません


前記最短パス(有向グラフ)

ダイクストラ

残りの頂点までの最短経路の各頂点
ポイントVの集合として有向グラフ{V、E}、

思想:vo∈初期集合S(S VO頂点までの最短経路が決定されている)
毎Sから弧のセットが各頂点集合にVSが最短選択
Sに接続されたwの頂点を、その後Wの中間点まで、ワットVO〜
アップデートセットは、加重長VS各頂点集合にS


1.コードタイトル
P [V]:最短経路の残りの頂点vのノードへVO
P [V] [W] = TRUE: VのV0への最短経路上のノードのw

D [v]:最短経路長加重VにVO
最終[V] =真:最短経路は、(集合S内)VO Vを得られています

加重隣接行列:<I、I> =∞

コード:すべての頂点のための(1)、V(0〜vexnum-1)
最終[V]、D [V]、P [V] [W]初期化
Sセットに属する(2)初期化、VO
最短アークVWを見つけるために、(3)セットは、WにS
(4)との最短経路長を更新します

2.ペイントタイトルの(ワーク)は
頂点(VS)を組み込んでいない頂点(S)に組み込まれている、
DIST []、すなわち、D []、最短経路長加重
経路[W]:wの最短経路配列のV0-Wノード

総合的なタイトルの第七のタイトルの15年



フロイド(頂点の各対の間の最短経路)

0の時の複雑さ(n³)



7.トポロジー(有向非巡回グラフ)

AOV

非循環有向グラフG(矢印の片側のみエッジ)トポロジカルソート、必ずしもだけ配列トポロジ
Gのすべての頂点は、UからVに、そのような頂点の任意の対図UおよびVは、存在する場合ことが、線形配列に配置されパスは、その後、トポロジカルソート順序は、V Uの前に現れなければなりません

テストサイト/アプリケーション

1:有向グラフの隣接行列ストレージは、主対角以下の行列要素が全てゼロトポロジカル⇒配列一意でなくてもよいが、図です。

2.頂点強いグラフの数は、一つのリングよりも大きくなければなりません

3:AOVネットワークに格納されたトポロジカルソート隣接テーブルに基づいて、トポロジカルソートアルゴリズムは、得られた順序付きシーケンスのトポロジーは、必ずしも一意ではありません

4:図1の回路かどうかトポロジカル順序が決定されてもよい
トポロジカルソート図が完了した場合、この回路は、図には存在しません。



クリティカルパス、AOE(側活性)

1の概念
クリティカルパス:ソース点(0度)からのすべてのパス(0度)をシンクするために、最大経路長を有する経路を

代表的な最長経路②①図完了最小時間

クリティカルパスは一意ではありません。

主要な活動の完了(1)拡張がプロジェクト全体の完了時間に影響します
(2)前倒しの完了主要な活動の一つは、プロジェクト全体は、事前に完了されない場合があり

、クリティカルパスの数は、クリティカルパス上のアクティビティだけ短縮する時間が存在する場合このセクションでは、クリティカルパスにつながる非クリティカルパスとなりますが、工事期間を短縮することができません

2.クリティカルパス
最も早い時間を発生します提供最古のイベントは(k)は、頂点kは時間を表している、すなわち、最も長いKで頂点にソースポイントから経路はVE。最大:活動が前に完了できるようにします

プロジェクト全体の完成を延期せずに、時間、最新のイベントが発生しました。最新の時間が発生しました

クリティカルパスを求める
発生最も早いタイムイベントを探す(1)(I)VEの
図のは、①位相的にソートされなければならない、トポロジカルソート順序得頂点
②イベント・ソース・セット0(0)VE = 0
③順次取得した各頂点イベントを最も早い時間を表す、最長辺を取る

:(2)時間イベントVL(i)が最新で起こる必要
に配置された①Nイベントシンクは、VL(n)を配置=(n)をVE
②次にシンク接続を備えましたイベント(点)のVL
(<K、J>重量)分後-イベントK、VL(k)は、VL(j)は

最小:すべての2つの後続ノードは、双方が完了することができなければならないことを保証するために
、ノードkはMを有するイベント後継を、N
次いでVL(K)=分{VL (M) - <K、M>、VL(N) - <K、N->}


最も早いイベント/最新の発生時刻を見つける(3)
①最も早いタイムイベントE(AK)=イベントが最大のイベント発生時に発生
時刻活性の②活性最新時間L(AK)=終点を最新の発生時刻-活動期間

テストサイト

1.いくつかの重要な活動は、必ずしも全体のプロジェクトは予定より早く完了し、前倒しで完了
(クリティカルパスは、事前に完成し、他の重要な活動を含まなくてもよい、複数のクリティカルパスがあるかもしれません)

2.13総合質問Q7 / 2007第四のタイトル全体のタイトル

公開された46元の記事 ウォン称賛15 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_41850194/article/details/102742252