python dijkstra 最短路算法示意代码

python dijkstra 最短路算法示意代码,第1张

概述  def dijkstra(graph, from_node, to_node): q, seen = [(0, from_node, [])], set() while q: cost, node, path = heappop(q) seen.add(node) path = path+[node]

 

def dijkstra(graph,from_node,to_node):    q,seen = [(0,[])],set()    while q:        cost,node,path = heappop(q)        seen.add(node)        path = path+[node]        if node == to_node:            return cost,path        for adj_node,c in graph.get(node,{}).items():            if adj_node not in seen:                heappush(q,(cost+c,adj_node,path))    return -1,[]air_lines = {"1":{"2":2000,"3":2000,"4":4000,"5": 4500},"2":{"5": 1000},"3":{"4": 1000},"4":{"5": 500}}print(dijkstra(air_lines,"1","4"))print(dijkstra(air_lines,"5"))print(dijkstra(air_lines,"4","5","1"))print(dijkstra(air_lines,"10","10"))"""(3000,[‘1‘,‘3‘,‘4‘])(3000,‘2‘,‘5‘])(500,[‘4‘,‘5‘])(-1,[])(0,[‘1‘])(0,[‘10‘])"""
总结

以上是内存溢出为你收集整理的python dijkstra 最短路算法示意代码全部内容,希望文章能够帮你解决python dijkstra 最短路算法示意代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1191261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存