本文简要介绍
networkx.algorithms.shortest_paths.dense.floyd_warshall_predecessor_and_distance
的用法。用法:
floyd_warshall_predecessor_and_distance(G, weight='weight')
使用 Floyd 算法查找 all-pairs 最短路径长度。
- G:NetworkX 图
- weight: string, optional (default= ‘weight’):
边权重对应的边数据键。
- predecessor,distance:字典
字典,由源和目标键控,前身和最短路径的距离。
参数:
返回:
注意:
当 Dijkstra 算法失败时,Floyd 算法适用于在密集图或负权重图中寻找最短路径。如果存在负循环,该算法仍然可能失败。它的运行时间为 ,运行空间为 。
例子:
>>> G = nx.DiGraph() >>> G.add_weighted_edges_from( ... [ ... ("s", "u", 10), ... ("s", "x", 5), ... ("u", "v", 1), ... ("u", "x", 2), ... ("v", "y", 1), ... ("x", "u", 3), ... ("x", "v", 5), ... ("x", "y", 2), ... ("y", "s", 7), ... ("y", "v", 6), ... ] ... ) >>> predecessors, _ = nx.floyd_warshall_predecessor_and_distance(G) >>> print(nx.reconstruct_path("s", "v", predecessors)) ['s', 'x', 'u', 'v']
相关用法
- Python NetworkX from_dict_of_dicts用法及代码示例
- Python NetworkX from_scipy_sparse_array用法及代码示例
- Python NetworkX from_pandas_adjacency用法及代码示例
- Python NetworkX from_scipy_sparse_matrix用法及代码示例
- Python NetworkX full_join用法及代码示例
- Python NetworkX find_induced_nodes用法及代码示例
- Python NetworkX from_dict_of_lists用法及代码示例
- Python NetworkX from_pydot用法及代码示例
- Python NetworkX from_edgelist用法及代码示例
- Python NetworkX freeze用法及代码示例
- Python NetworkX find_cycle用法及代码示例
- Python NetworkX from_nested_tuple用法及代码示例
- Python NetworkX from_graph6_bytes用法及代码示例
- Python NetworkX from_prufer_sequence用法及代码示例
- Python NetworkX from_pandas_edgelist用法及代码示例
- Python NetworkX from_numpy_matrix用法及代码示例
- Python NetworkX from_sparse6_bytes用法及代码示例
- Python NetworkX find_threshold_graph用法及代码示例
- Python NetworkX from_agraph用法及代码示例
- Python NetworkX from_numpy_array用法及代码示例
- Python NetworkX negative_edge_cycle用法及代码示例
- Python NetworkX voronoi_cells用法及代码示例
- Python NetworkX numerical_edge_match用法及代码示例
- Python NetworkX inverse_line_graph用法及代码示例
- Python NetworkX LFR_benchmark_graph用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.shortest_paths.dense.floyd_warshall_predecessor_and_distance。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。