def topsort(G):
count = dict((u,0) for u in G)
for u in G:
for v in G[u]:
count[v] +=1
Q = [u for u in G if count[u] == 0]
S = []
while Q:
u = Q.pop()
S.append(u)
for v in G[u]:
count[v]-=1
if count[v]==0:
Q.append(v)
return S
[数据结构][Python]DAG有向无环图和拓扑排序
最新推荐文章于 2024-08-02 14:15:33 发布