dijkstra.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:python-algorithms 作者: stefan-jansen 项目源码 文件源码
def dijkstra(graph, s):
    n = len(graph.keys())
    dist = dict()
    Q = list()

    for v in graph:
        dist[v] = inf
    dist[s] = 0

    heappush(Q, (dist[s], s))

    while Q:
        d, u = heappop(Q)
        if d < dist[u]:
            dist[u] = d
        for v in graph[u]:
            if dist[v] > dist[u] + graph[u][v]:
                dist[v] = dist[u] + graph[u][v]
                heappush(Q, (dist[v], v))
    return dist
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号