拓撲排序分析

2021-09-29 12:52:55 字數 404 閱讀 3764

例如你輸入n個點,m個聯絡

4 3這四個點分別為1,2,3,4。但是這四個點輸出的順序必須是先有乙個條件後有乙個輸出。

1 21 3

4 2意思就是先輸出2才能輸出1,先輸出3才能輸出1,先輸出2才能輸出4.

我們就是要先建立四個陣列,分別存入不同的資料。

例如建立a[num],b[num]兩個陣列分別用來儲存數值。再建立乙個r[num]用來儲存入度。

入度是什麼意思呢,就是2->1,3->1,2->4。

2的入度為0,3的入度為0,4的入度為1,1的入度為2.就是有幾個點指向你,就是入度的大小。

將這些資料都存在陣列裡,然後每次遍歷,如果遍歷到入度為0的點,就輸出,然後把和這個點有關的點的入度減去一。

繼續遍歷,就這麼一直遍歷到最後,就可以輸出乙個拓撲排序。

拓撲排序的原理分析

拓撲排序,顧名思義,就是一種排序方法。這是一種什麼排序?這種排序的作用?然後怎麼去實現這種排序演算法?現在就讓我們仔細研究下。實際上,拓撲排序是一種圖論演算法,該演算法在 資料結構與演算法 一書中有涉獵。引用維基百科的定義 在圖論中,由乙個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖...

python 拓撲排序 Python 拓撲排序

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

python 排序 拓撲排序

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