由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...