簡單易懂的寫法,但是效率極低:
//b為每個點的入度
for(i=
1;i<=n;i++)}
for(j=
1;j<=n;j++)if
(a[ans]
[j])
b[j]--;
//與入度為0的點相連的點的入度減一
}printf
("%d"
,vis[0]
);for(i=
1;i)printf
(" %d"
,vis[i]);
printf
("\n"
);
o(v+e)寫法,點數+邊數:
queue<
int>q;
vector<
int>edge[n]
;for
(int i=
0;i)//n 節點的總數
if(in[i]==0
) q.
push
(i);
//將入度為0的點入佇列
vector<
int>ans;
//ans 為拓撲序列
while
(!q.
empty()
)}if(ans.
size()
==n)
else
printf
("no answer!\n");
// ans 中的長度與n不相等,就說明無拓撲序列
python 拓撲排序 Python 拓撲排序
python 拓撲排序 在圖論中,由乙個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖的乙個拓撲排序 英語 topological sorting 每個頂點出現且只出現一次 若a在序列中排在b的前面,則在圖中不存在從b到a的路徑。print 拓撲排序結果 g.topologicalso...
拓撲排序 kahn演算法及dfs的拓撲排序
有個人的家族很大,輩分關係很混亂,請你幫整理一下這種關係。給出每個人的孩子的資訊。輸出乙個序列,使得每個人的後輩都比那個人後列出 sample input 5 0 4 5 1 0 1 0 5 3 0 3 0樣例輸出 sample output 2 4 5 3 1 因為需輸出字典序最小的因而要使用優先...
常見makefile寫法
1 目標名稱,擺脫手動設定目標名稱 cpp view plain copy target notdir curdir all target cmd.curdir 表示makfile當前目錄全路徑 notdir path 表示把path目錄去掉路徑名,只留當前目錄名 這樣就可以得到makefile當前...