Py小郑 2022-02-03 16:55 采纳率: 96.6%
浏览 13
已结题

python关于folyd算法碰到的困难

img


在创建初始化的时候用二维数据graph[i][j]先都定为float('inf')
怎么创建可以快一点,原本我是一个个根据图修改过来好慢graph[0][0]=0

  • 写回答

1条回答 默认 最新

  • youcans_ 人工智能领域优质创作者 2022-02-03 19:28
    关注

    问题写的不是很明确,估计是想问如何方便地对 图进行初始化。
    (1) 向图中添加多条赋权边: (node1,node2,weight)

    # 问题 2:无向图的最短路问题
    gAnt = nx.Graph()  # 创建:空的 无向图
    gAnt.add_weighted_edges_from([(0,1,3),(0,2,1),(0,3,1),
                                (1,2,1),(1,4,1),(1,9,4),
                                (2,3,1),(2,4,2),(2,5,1),
                                (3,5,2),(3,6,2),(3,7,1),
                                (4,5,1),(4,9,1),
                                (5,6,1),(5,9,3),(5,10,1),(5,12,3),
                                (6,7,1),(6,8,2),(6,12,2),(6,13,4),(6,14,3),
                                (7,8,1),
                                (8,14,1),(8,15,3),
                                (9,10,1),(9,11,1),
                                (10,11,1),(10,12,2),
                                (11,12,1),(11,16,1),
                                (12,13,2),(12,16,1),
                                (13,14,1),(13,15,2),(13,16,2),(13,17,1),
                                (14,15,1),
                                (15,17,4),
                                (16,17,1)])  # 向图中添加多条赋权边: (node1,node2,weight)
    
    

    (2)由 pandas 顶点邻接矩阵 创建 NetworkX 图

    # # 从Pandas数据格式(顶点邻接矩阵)创建 NetworkX 图
    # # from_pandas_adjacency(df, create_using=None) # 邻接矩阵,n行*n列,矩阵数据表示权重
    dfAdj = pd.DataFrame([[0, 50, 0, 40, 25, 10],  # 0 表示不邻接,
                          [50, 0, 15, 20, 0, 25],
                          [0, 15, 0, 10, 20, 0],
                          [40, 20, 10, 0, 10, 25],
                          [25, 0, 20, 10, 0 ,55],
                          [10, 25, 0, 25, 55, 0]])
    G1 = nx.from_pandas_adjacency(dfAdj)  # 由 pandas 顶点邻接矩阵 创建 NetworkX 图
    

    参见: Python数模笔记-NetworkX(3)条件最短路径(https://blog.csdn.net/youcans/category_11031563.html?spm=1001.2014.3001.5482

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 创建了问题 2月3日

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图