sklearn.utils.sklearn.utils.graph_shortest_path.graph_shortest_path?

sklearn.utils.graph_shortest_path.graph_shortest_path()

對正有向圖或無向圖執行最短路徑圖搜索。

參數 說明
dist_matrix arraylike or sparse matrix, shape = (N,N)
正距離數組。 如果頂點i連接到頂點j,則dist_matrix [i,j]給出頂點之間的距離。 如果頂點i未連接到頂點j,則dist_matrix [i,j] = 0
directed boolean
如果為真,則在有向圖上找到最短路徑:僅從一個點到其相鄰點,而不是反過來。 如果為假,則在無向圖上找到最短路徑:該算法可以從一個點前進到其相鄰點,反之亦然。
method string [‘auto’,’FW’,’D’]
使用方法。 選項為“auto”:嘗試為當前問題選擇最佳方法。“FW”:Floyd-Warshall算法。 O [N ^ 3]“ D”:Dijkstra的斐波那契堆棧算法。 O [(k + log(N))N ^ 2]
返回值 說明
G np.ndarray, float, shape = [N,N]
G [i,j]給出沿曲線圖從點i到點j的最短距離。

注:

按照目前的實現方式,當有向== False時,Dijkstra的算法不適用于方向與距離相關的圖形。 也就是說,如果dist_matrix [i,j]和dist_matrix [j,i]不相等且都不為零,則method ='D'不一定會得出正確的結果。

同樣,這些例程尚未針對負距離的圖形進行過測試。 負距離會導致無限循環,必須由專門的算法處理。