我在阅读 Dijkstra 算法上的伪代码时遇到了一些麻烦:
到目前为止,我已经根据伪代码写了这么多:
import heapq
def dijkstra(G, source_node):
pq = []
dist = []
pred = []
for node in G:
dist[node] = 9999999
pred[node] = -1
dist[source_node] = 0
for node in G:
heapq.heappush(pq, node)
heapq.heappop()
while pq!=[]:
u = min(pq)
然而,我现在被困在“ foreach neighbor v of u do ”这一行了。如何在 Python 中为“u 的邻居节点”解释这个 forloop?我不知道如何写这一行。蒂亚!