networkx.algorithms.shortest_paths.generic.shortest_path_length
的用法。用法:
shortest_path_length(G, source=None, target=None, weight=None, method='dijkstra')
計算圖中的最短路徑長度。
- G:NetworkX 圖
- source:節點,可選
路徑的起始節點。如果未指定,則使用所有節點作為源節點計算最短路徑長度。
- target:節點,可選
路徑的結束節點。如果未指定,則使用所有節點作為目標節點計算最短路徑長度。
- weight:無,字符串或函數,可選(默認 = 無)
如果為 None,則每條邊的權重/距離/成本為 1。如果是字符串,則使用此邊屬性作為邊權重。任何不存在的邊屬性默認為 1。如果這是一個函數,則邊的權重是函數返回的值。該函數必須準確地接受三個位置參數:一條邊的兩個端點和該邊的邊屬性字典。該函數必須返回一個數字。
- method:字符串,可選(默認 = ‘dijkstra’)
用於計算路徑長度的算法。支持的選項:‘dijkstra’、‘bellman-ford’。其他輸入會產生 ValueError。如果
weight
為 None,則使用未加權的圖形方法,並忽略此建議。
- 長度:int 或迭代器
如果同時指定了源和目標,則返回從源到目標的最短路徑的長度。
如果隻指定了源,則返回一個由目標鍵控的字典,以從源到該目標的最短路徑長度。
如果隻指定了目標,則返回一個以源為鍵的字典,以從該源到目標的最短路徑長度。
如果既沒有指定源也沒有指定目標,則在 (source, dictionary) 上返回一個迭代器,其中字典由目標鍵控到從源到該目標的最短路徑長度。
- NodeNotFound
如果
source
不在G
中。- NetworkXNoPath
如果源和目標之間不存在路徑。
- ValueError
如果
method
不在支持的選項中。
參數:
返回:
拋出:
注意:
路徑的長度總是比路徑中涉及的節點數小 1,因為長度衡量了沿線的數量。
對於有向圖,這將返回最短的有向路徑長度。要找到反向的路徑長度,首先使用 G.reverse(copy=False) 來翻轉邊方向。
例子:
>>> G = nx.path_graph(5) >>> nx.shortest_path_length(G, source=0, target=4) 4 >>> p = nx.shortest_path_length(G, source=0) # target not specified >>> p[4] 4 >>> p = nx.shortest_path_length(G, target=4) # source not specified >>> p[0] 4 >>> p = dict(nx.shortest_path_length(G)) # source,target not specified >>> p[0][4] 4
相關用法
- Python NetworkX shortest_path用法及代碼示例
- Python NetworkX shortest_augmenting_path用法及代碼示例
- Python NetworkX shortest_simple_paths用法及代碼示例
- Python NetworkX shell_layout用法及代碼示例
- Python NetworkX single_source_dijkstra_path_length用法及代碼示例
- Python NetworkX single_source_bellman_ford用法及代碼示例
- Python NetworkX subgraph_view用法及代碼示例
- Python NetworkX square_clustering用法及代碼示例
- Python NetworkX soft_random_geometric_graph用法及代碼示例
- Python NetworkX sets用法及代碼示例
- Python NetworkX simrank_similarity用法及代碼示例
- Python NetworkX single_source_bellman_ford_path用法及代碼示例
- Python NetworkX sudoku_graph用法及代碼示例
- Python NetworkX single_source_bellman_ford_path_length用法及代碼示例
- Python NetworkX single_source_shortest_path_length用法及代碼示例
- Python NetworkX snap_aggregation用法及代碼示例
- Python NetworkX set_edge_attributes用法及代碼示例
- Python NetworkX stochastic_block_model用法及代碼示例
- Python NetworkX symmetric_difference用法及代碼示例
- Python NetworkX selfloop_edges用法及代碼示例
- Python NetworkX second_order_centrality用法及代碼示例
- Python NetworkX simulated_annealing_tsp用法及代碼示例
- Python NetworkX spring_layout用法及代碼示例
- Python NetworkX simple_cycles用法及代碼示例
- Python NetworkX single_source_dijkstra用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.shortest_paths.generic.shortest_path_length。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。