只需借助队列处理入度为0的点
from collections import deque def tuopo(): result = [] q = deque() #筛选入度空的点 for i in range(1,n+1): if rudu[i] = 0: q.append(i) #只要队列不空 while q: u = q.popleft() result.append(u) for v in G[u]: rudu[v] -= 1 #再次筛选 if rudu[v] == 0 q.append(v) if len(result) != n: print("error") else: print(*result,sep = " ")
BFS实现拓扑排序
最新推荐文章于 2024-05-21 20:29:42 发布