拓撲排序 poj 2367

2021-08-11 05:50:13 字數 763 閱讀 6995

由aov網構造拓撲序列的拓撲排序演算法主要是迴圈執行以下兩步,直到不存在入度為0的頂點為止。

(1) 選擇乙個入度為0的頂點並輸出之;

(2) 從網中刪除此頂點及所有

出邊。迴圈結束後,若輸出的頂點數小於網中的頂點數,則輸出「有

迴路」資訊,否則輸出的頂點序列就是一種拓撲

序列。測試資料:第一行表示頂點數和邊數;後面的幾行是頂點指定另乙個頂點(如v1->v2表示1  2 )68

12 13 1

4 32

35 45 6

4 65

#include #include #include #include #include #define num 100

using namespace std;

vector> graph(num);

int n,m;//表示有n個頂點,m條邊

int indegree[num];//表示每乙個頂點的度;

stacks;

void print(int i)

}if(count>n;

cin>>m;

for(int i = 1;i<=m;i++)

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

}cout <>n;

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

else

break;}}

tuosort();

return 0;

}

拓撲排序(poj 2367)

題目 拓撲排序要求 無環有向圖 演算法思路 1.找出入度為0的點,輸出 2.把找到的入度為零的點刪除,並把與這個點相連的邊刪除 3.重複1,2步直到輸出所有點 實現 維護乙個in i 陣列表示點i的入度 flag 標記是否已輸出過 vector bian max 用鄰接表存圖 include inc...

poj2367 拓撲排序

題目就是讓你求拓撲序 拓撲排序就是,先找到入度為0的點,刪去,同時把它的所有出度刪去,再找新的入度為0的點,刪去的點的順序就是拓撲序 include include include include using namespace std int s 233 233 int in degree 233...

POJ 2367 HDU 1285 拓撲排序模板

題意 乙個關係比較混亂的部落,輸出按照輩分排序輸出。題解 拓撲排序裸題 拓撲排序三步 1.選取沒有前驅的節點輸出 2.刪去這個節點出發的邊 也就是終點入度 1 3.重複1,2。直到所有點輸出完畢,或者剩下的點都有前驅為止。若剩下的點都有前驅則有環 include include include in...