訓練六 拓撲排序演算法

2021-07-24 18:22:29 字數 764 閱讀 7556

1.目的要求:

(1)構造有向無環圖dag(directed acyclic graph)

(2)理解什麼是拓撲序列

(2)利用拓撲排序演算法解決online judge上面的題目

2.實驗內容:

(1)給定乙個工程圖,按照拓撲序列將工程序列進行重新排序輸出 -**hdu1285

3.實驗報告:

(1)

#include 

#include

#include

#include

int a[501][501];

int b[501],w[501];

int n,m,i,j,s,t;

using

namespace

std;

int main()

} int numb=0;

while(1)

} b[j]=-1; //刪去該頂點,

w[numb]=j; //用乙個陣列對節點進行儲存。

numb++;

for(i=1;i<=n;i++)

} if(numb>n)

break;

} for(i=0;i2;i++) //輸出節點

cout

<' ';

cout

<2]0;

}

六 拓撲排序

1 掌握圖的儲存結構及其基本操作,學會定義圖的鄰接表儲存結構,並能在實際中靈活應用 2 掌握拓撲排序演算法 3 通過本實驗的具體應用例項,靈活應用拓撲排序並進一步鞏固佇列 棧的運用。用鄰接表形式儲存以下有向無環圖,進行拓撲排序,輸出相應拓撲序列。若圖中每個頂點都在拓撲序列中,說明圖中無環。圖的結構宣...

藍橋訓練 拓撲排序

有 個士兵 1 26 編號依次為 佇列訓練時,指揮官要把一些士兵從高到矮一次排成一行,但現在指揮官不能直接獲得每個人的身高資訊,只能獲得 p1比p2高 這樣的比較 結果 p1 p2 記為 p1 p2 如 表示 比 高。請編一程式,根據所得到的比較結果求出一種符合條件的排隊方案。注 比較結果中沒有涉及...

拓撲排序演算法

對許多資料結構教材實在不滿意,至少我是看不懂 至於拓撲排序演算法,教材上那些偽 真真教人頭暈。只寫了幾個struct結構,我根本看不出這是鄰接表。如果給出乙個清晰明了的圖,一切不就簡單了?總之,關鍵就是建立乙個鄰接表。然後利用這個表進行拓撲排序。邊表結點宣告 typedef struct edgen...