拓撲排序(poj 2367)

2021-07-07 01:38:04 字數 605 閱讀 5970

題目:

拓撲排序要求:無環有向圖

演算法思路:

1.找出入度為0的點,輸出

2.把找到的入度為零的點刪除,並把與這個點相連的邊刪除

3.重複1,2步直到輸出所有點

實現:

維護乙個in[i]陣列表示點i的入度

flag[]標記是否已輸出過

vector bian[max] 用鄰接表存圖

#include 

#include

#include

#include

#include

#include

using

namespace

std;

int in[105],flag[105];

vector

bian[105];

queue

sum;

int main()

}while (sum.size() != n)}}

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

cout

0;}

ps:好久沒更博了,一定要好好堅持吖~

poj2367 拓撲排序

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

拓撲排序 poj 2367

由aov網構造拓撲序列的拓撲排序演算法主要是迴圈執行以下兩步,直到不存在入度為0的頂點為止。1 選擇乙個入度為0的頂點並輸出之 2 從網中刪除此頂點及所有 出邊。迴圈結束後,若輸出的頂點數小於網中的頂點數,則輸出 有 迴路 資訊,否則輸出的頂點序列就是一種拓撲 序列。測試資料 第一行表示頂點數和邊數...

POJ 2367 HDU 1285 拓撲排序模板

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