本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。