from __future__ import print_functiondef printDist(dist, V):print("\nVertex Distance")for i in range(V):if dist[i] != float('inf') :print(i,"\t",int(dist[i]),end = "\t")else:print(i,"\t","INF",end="\t")print()def BellmanFord(graph, V, E, src):mdist=[float('inf') for i in range(V)]mdist[src] = 0.0for i in range(V-1):for j in range(V):u = graph[j]["src"]v = graph[j]["dst"]w = graph[j]["weight"]if mdist[u] != float('inf') and mdist[u] + w < mdist[v]:mdist[v] = mdist[u] + wfor j in range(V):u = graph[j]["src"]v = graph[j]["dst"]w = graph[j]["weight"]if mdist[u] != float('inf') and mdist[u] + w < mdist[v]:print("Negative cycle found. Solution not possible.")returnprintDist(mdist, V)#MAINV = int(input("Enter number of vertices: "))E = int(input("Enter number of edges: "))graph = [dict() for j in range(E)]for i in range(V):graph[i][i] = 0.0for i in range(E):print("\nEdge ",i+1)src = int(input("Enter source:"))dst = int(input("Enter destination:"))weight = float(input("Enter weight:"))graph[i] = {"src": src,"dst": dst, "weight": weight}gsrc = int(input("\nEnter shortest path source:"))BellmanFord(graph, V, E, gsrc)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。