首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Bellman-Ford算法

Bellman-Ford算法

作者头像
裴来凡
发布2022-05-29 10:30:11
发布2022-05-29 10:30:11
4010
举报
代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt 
import networkx as nx
dfAdj=pd.DataFrame([[0,30,0,40,23,10],#0表示不邻接,
                    [30,0,13,20,0,23],
                    [0,13,0,10,20,0],
                    [40,20,10,0,10,23],
                    [23,0,20,10,0,33],
                    [10,23,0,23,33,0]])
G2=nx.from_pandas_adjacency(dfAdj)#由 pandas顶点邻接矩阵创建NetworkX 图
#计算最短路径:注意最短路径与最短加权路径的不同
#两个指定顶点之间的最短路径
minPath03=nx.shortest_path(G2,source=0,target=3)#顶点0到顶点3的最短路径
lMinPath03=nx.shortest_path_length(G2,source=0,target=3)#最短路径长度
print("顶点 0 到 3 的最短路径为:{},最短路径长度为:{}".format(minPath03,lMinPath03))
#两个指定顶点之间的最短加权路径
minWPath03=nx.bellman_ford_path(G2,source=0,target=3)#顶点0到顶点3的最短加权路径
#两个指定顶点之间的最短加权路径的长度
lMinWPath03=nx.bellman_ford_path_length(G2,source=0,target=3)#最短加权路径长度
print("顶点 0 到 3 的最短加权路径为:{},最短加权路径长度为:{}".format(minWPath03,lMinWPath03))
for i in range(1,6):
    minWPath0=nx.bellman_ford_path(G2,source=0,target=i)#顶点0到其它顶点的最短加权路径
    lMinPath0=nx.bellman_ford_path_length(G2,source=0,target=i)#最短加权路径长度
    print("城市 0 到 城市 {} 机票票价最低的路线为: {},票价总和为:{}".format(i,minWPath0,lMinPath0))
nx.draw_shell(G2,with_labels=True,node_color='#ffc0cb',edge_color='b',font_color='w',width=2)
plt.show()

顶点 0 到 3 的最短路径为:[0, 3],最短路径长度为:1 顶点 0 到 3 的最短加权路径为:[0, 4, 3],最短加权路径长度为:33 城市 0 到 城市 1 机票票价最低的路线为: [0, 1],票价总和为:30 城市 0 到 城市 2 机票票价最低的路线为: [0, 1, 2],票价总和为:43 城市 0 到 城市 3 机票票价最低的路线为: [0, 4, 3],票价总和为:33 城市 0 到 城市 4 机票票价最低的路线为: [0, 4],票价总和为:23 城市 0 到 城市 5 机票票价最低的路线为: [0, 5],票价总和为:10

算法:Bellman-Ford算法是对图进行V-1次松弛操作,得到所有可能的最短路径。

链接:https://github.com/liuyubobobo/Play-with-Algorithms/blob/master/09-Shortest-Path/Course%20Code%20(C%2B%2B)/05-Implementation-of-Bellman-Ford/BellmanFord.h

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档