色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python關于拓撲排序知識點講解

瀏覽:41日期:2022-06-30 13:27:37

對一個有向無環(huán)圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若邊(u,v)∈E(G),則u在線性序列中出現(xiàn)在v之前。

通常,這樣的線性序列稱為滿足拓撲次序(Topological Order)的序列,簡稱拓撲序列。簡單的說,由某個集合上的一個偏序得到該集合上的一個全序,這個操作稱之為拓撲排序。

在圖論中,由一個有向無環(huán)圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖的一個拓撲排序(英語:Topological sorting):

每個頂點出現(xiàn)且只出現(xiàn)一次; 若A在序列中排在B的前面,則在圖中不存在從B到A的路徑。

Python關于拓撲排序知識點講解

實例代碼

from collections import defaultdict class Graph: def __init__(self,vertices): self.graph = defaultdict(list) self.V = vertices def addEdge(self,u,v): self.graph[u].append(v) def topologicalSortUtil(self,v,visited,stack): visited[v] = True for i in self.graph[v]: if visited[i] == False: self.topologicalSortUtil(i,visited,stack) stack.insert(0,v) def topologicalSort(self): visited = [False]*self.V stack =[] for i in range(self.V): if visited[i] == False: self.topologicalSortUtil(i,visited,stack) print (stack) g= Graph(6) g.addEdge(5, 2); g.addEdge(5, 0); g.addEdge(4, 0); g.addEdge(4, 1); g.addEdge(2, 3); g.addEdge(3, 1); print ('拓撲排序結果:')g.topologicalSort()

執(zhí)行以上代碼輸出結果為:

拓撲排序結果:

[5, 4, 2, 3, 1, 0]

實例擴展:

def toposort(graph): in_degrees = dict((u,0) for u in graph) #初始化所有頂點入度為0 vertex_num = len(in_degrees) for u in graph: for v in graph[u]: in_degrees[v] += 1 #計算每個頂點的入度 Q = [u for u in in_degrees if in_degrees[u] == 0] # 篩選入度為0的頂點 Seq = [] while Q: u = Q.pop() #默認從最后一個刪除 Seq.append(u) for v in graph[u]: in_degrees[v] -= 1 #移除其所有指向 if in_degrees[v] == 0: Q.append(v) #再次篩選入度為0的頂點 if len(Seq) == vertex_num: #如果循環(huán)結束后存在非0入度的頂點說明圖中有環(huán),不存在拓撲排序 return Seq else: print('there’s a circle.')G = { ’a’:’bce’, ’b’:’d’, ’c’:’d’, ’d’:’’, ’e’:’cd’}print(toposort(G))

輸出結果:

[’a’, ’e’, ’c’, ’b’, ’d’]

到此這篇關于Python關于拓撲排序知識點講解的文章就介紹到這了,更多相關Python 拓撲排序內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲成年www | 日本三级网站在线观看 | 99精品国产兔费观看久久99 | 亚洲二区在线 | 国产黄色三级网站 | 亚洲高清一区二区三区 | 日韩欧美在线播放视频 | 久久久亚洲国产精品主播 | 亚洲人成一区二区三区 | 99精品在线免费 | 欧美日韩免费一区二区在线观看 | 中文无线乱码二三四区 | 曰韩毛片| 日本免费一区视频 | 精品韩国主播福利视频在线观看一 | 在线观看国产一区二区三区99 | 99久久免费精品国产免费高清 | 日韩一区国产二区欧美三区 | 一级毛片免费视频观看 | 97国产精品欧美一区二区三区 | 国产深夜福利在线观看网站 | 91久色视频 | 欧美日韩精品在线视频 | 99久99久6久热在线播放 | 在线观看免费精品国产 | 天堂视频在线免费观看 | 国产精品国产三级国产专区5o | 亚洲夜色 | 国产在线综合一区二区三区 | 免费一级做a爰片久久毛片 免费一级做a爰片性色毛片 | 久久久久久福利 | 久久好看视频 | 国产精品爱久久久久久久小 | 国产在视频线精品视频二代 | 国内精品一区二区2021在线 | 毛片网站观看 | 一级做a毛片免费视频 | 亚洲一级成人 | 欧美亚洲国产精品久久 | 成人亚州 | 免费特黄级夫费生活片 |