名稱 拓撲排序

2021-08-14 10:09:39 字數 641 閱讀 3790

/*

名稱:拓撲排序

說明:對於拓撲排序來說,其針對的一般是aov網。其基本的演算法(本程式中實現的)類似於廣度優先遍歷只不過在遍歷的時候要修改頂點的入度數量。當某個頂點的入度數量為0時,則說明可以輸出其頂點,並把以此頂點為源點的弧刪去(也就是以此弧為終點的頂點的入度數減1)。

在本程式中使用的是臨接矩陣的結構,時間複雜度為o(v2)。實際上比較好的儲存結構是用逆臨接表,可以達到o(v+e)的時間複雜度。

#include

#include "graph.h"

using

namespace

std;

//拓撲排序

bool topologicalsort(mgraph g)

}if(indegree[i] == 0) //將入度為0的頂點推入佇列

q.push(i);

}while(q.empty() == false)

}if(_count < g.vexnum) //如果最終輸出頂點數量小於圖的數量,則說明圖中有環,排序失敗

return

false;

else

return

true;

}

python 拓撲排序 Python 拓撲排序

python 拓撲排序 在圖論中,由乙個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖的乙個拓撲排序 英語 topological sorting 每個頂點出現且只出現一次 若a在序列中排在b的前面,則在圖中不存在從b到a的路徑。print 拓撲排序結果 g.topologicalso...

python 排序 拓撲排序

在電腦科學領域中,有向圖的拓撲排序是其頂點的先行排序,對於每個從頂點u到頂點v的有向邊uv,在排序的結果中u都在v之前。如果圖是有向無環圖,則拓撲排序是可能的 為什麼不說一定呢?圖論 是組合數學的乙個分支,它和其他分支比如 群論 拓撲學 矩陣論有著密切的關係。圖是圖論的主要研究物件。圖是由若干給定的...

拓撲排序演算法

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