本文简要介绍
networkx.algorithms.shortest_paths.generic.all_shortest_paths
的用法。用法:
all_shortest_paths(G, source, target, weight=None, method='dijkstra')
计算图中所有最短的简单路径。
- G:NetworkX 图
- source:节点
路径的起始节点。
- target:节点
路径的结束节点。
- weight:无,字符串或函数,可选(默认 = 无)
如果为 None,则每条边的权重/距离/成本为 1。如果是字符串,则使用此边属性作为边权重。任何不存在的边属性默认为 1。如果这是一个函数,则边的权重是函数返回的值。该函数必须准确地接受三个位置参数:一条边的两个端点和该边的边属性字典。该函数必须返回一个数字。
- method:字符串,可选(默认 = ‘dijkstra’)
用于计算路径长度的算法。支持的选项:‘dijkstra’、‘bellman-ford’。其他输入会产生 ValueError。如果
weight
为 None,则使用未加权的图形方法,并忽略此建议。
- paths:列表生成器
源和目标之间所有路径的生成器。
- ValueError
如果
method
不在支持的选项中。- NetworkXNoPath
如果无法从
source
到达target
。
参数:
返回:
抛出:
注意:
源和目标之间可能有许多最短路径。如果 G 包含 zero-weight 个循环,此函数将不会产生所有最短路径,因为这样做会产生无限多长度无限的路径 - 相反,我们只产生最短的简单路径。
例子:
>>> G = nx.Graph() >>> nx.add_path(G, [0, 1, 2]) >>> nx.add_path(G, [0, 10, 2]) >>> print([p for p in nx.all_shortest_paths(G, source=0, target=2)]) [[0, 1, 2], [0, 10, 2]]
相关用法
- Python NetworkX all_simple_paths用法及代码示例
- Python NetworkX all_simple_edge_paths用法及代码示例
- Python NetworkX all_pairs_dijkstra_path用法及代码示例
- Python NetworkX all_pairs_shortest_path用法及代码示例
- Python NetworkX all_node_cuts用法及代码示例
- Python NetworkX all_pairs_bellman_ford_path用法及代码示例
- Python NetworkX all_topological_sorts用法及代码示例
- Python NetworkX all_pairs_dijkstra用法及代码示例
- Python NetworkX all_pairs_bellman_ford_path_length用法及代码示例
- Python NetworkX all_pairs_dijkstra_path_length用法及代码示例
- Python NetworkX all_pairs_shortest_path_length用法及代码示例
- Python NetworkX average_degree_connectivity用法及代码示例
- Python NetworkX add_star用法及代码示例
- Python NetworkX add_path用法及代码示例
- Python NetworkX average_clustering用法及代码示例
- Python NetworkX attr_matrix用法及代码示例
- Python NetworkX arbitrary_element用法及代码示例
- Python NetworkX average_neighbor_degree用法及代码示例
- Python NetworkX attribute_mixing_dict用法及代码示例
- Python NetworkX attr_sparse_matrix用法及代码示例
- Python NetworkX articulation_points用法及代码示例
- Python NetworkX asadpour_atsp用法及代码示例
- Python NetworkX adjacency_graph用法及代码示例
- Python NetworkX astar_path用法及代码示例
- Python NetworkX ancestors用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.shortest_paths.generic.all_shortest_paths。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。