本文簡要介紹
networkx.algorithms.shortest_paths.weighted.all_pairs_dijkstra
的用法。用法:
all_pairs_dijkstra(G, cutoff=None, weight='weight')
查找所有節點之間的最短加權路徑和長度。
- G:NetworkX 圖
- cutoff:整數或浮點數,可選
停止搜索的長度(邊權重的總和)。如果提供了截止,則僅返回總權重 <= 截止的路徑。
- weight:字符串或函數
如果這是一個字符串,則將通過帶有此鍵的邊屬性訪問邊權重(即,連接
u
到v
的邊的權重將為G.edge[u][v][weight]
)。如果不存在這樣的邊屬性,則假設邊的權重為 1。如果這是一個函數,則邊的權重是函數返回的值。該函數必須準確地接受三個位置參數:一條邊的兩個端點和該邊的邊屬性字典。該函數必須返回一個數字。
- (node, (distance, path)):(節點 obj, (dict, dict))
每個源節點都有兩個關聯的字典。第一個保存目標鍵控的距離,第二個保存目標鍵控的路徑。 (有關源/目標節點的術語,請參閱single_source_dijkstra。)如果需要,您可以將
dict()
應用於此函數,以創建由源節點鍵控到兩個字典的字典。
參數:
生成(Yield):
注意:
邊權重屬性必須是數字。距離計算為遍曆的加權邊的總和。
產生的字典隻有可達節點的鍵。
例子:
>>> G = nx.path_graph(5) >>> len_path = dict(nx.all_pairs_dijkstra(G)) >>> len_path[3][0][1] 2 >>> for node in [0, 1, 2, 3, 4]: ... print(f"3 - {node}: {len_path[3][0][node]}") 3 - 0: 3 3 - 1: 2 3 - 2: 1 3 - 3: 0 3 - 4: 1 >>> len_path[3][1][1] [3, 2, 1] >>> for n, (dist, path) in nx.all_pairs_dijkstra(G): ... print(path[1]) [0, 1] [1] [2, 1] [3, 2, 1] [4, 3, 2, 1]
相關用法
- Python NetworkX all_pairs_dijkstra_path用法及代碼示例
- Python NetworkX all_pairs_dijkstra_path_length用法及代碼示例
- Python NetworkX all_pairs_shortest_path用法及代碼示例
- Python NetworkX all_pairs_bellman_ford_path用法及代碼示例
- Python NetworkX all_pairs_bellman_ford_path_length用法及代碼示例
- Python NetworkX all_pairs_shortest_path_length用法及代碼示例
- Python NetworkX all_simple_paths用法及代碼示例
- Python NetworkX all_node_cuts用法及代碼示例
- Python NetworkX all_shortest_paths用法及代碼示例
- Python NetworkX all_simple_edge_paths用法及代碼示例
- Python NetworkX all_topological_sorts用法及代碼示例
- 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.weighted.all_pairs_dijkstra。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。