當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python cugraph.traversal.sssp.sssp用法及代碼示例

用法:

cugraph.traversal.sssp.sssp(G, source=None, method=None, directed=None, return_predecessors=None, unweighted=None, overwrite=None, indices=None)

計算從指定源到圖中所有頂點的最短路徑的距離和前驅。距離列將存儲從源到每個頂點的距離。前驅列將每個頂點的前驅存儲在最短路徑中。無法到達的頂點將具有無窮大的距離,由數據類型的最大值表示,並且前驅設置為 -1。源頂點的前驅也設置為 -1。不支持具有負權重循環的圖表。

參數

graphcugraph.Graph、networkx.Graph、CuPy 或 SciPy 稀疏矩陣圖或

矩陣對象,它應該包含連接信息。邊權重(如果存在)應該是單精度或雙精度浮點值。

sourceint

源頂點的索引。

返回

返回值類型基於輸入類型。如果 G 是一個 cugraph.Graph,
返回:
cudf.DataFrame
df[‘vertex’]

頂點編號

df[‘distance’]

給出到起始頂點的路徑距離

df[‘predecessor’]

到達它的頂點

如果 G 是 networkx.Graph,則返回:

pandas.DataFrame 的內容與上述 cudf.DataFrame 相同。

如果 G 是 CuPy 或 SciPy 矩陣,則返回:

CuPy ndarrays(如果 CuPy 矩陣輸入)或 Numpy ndarrays(如果 SciPy 矩陣輸入)的 2 元組,表示:

距離:cupy 或 numpy ndarray

源和頂點之間最短距離的ndarray。

前身:cupy 或 numpy ndarray

來自源的路徑上頂點的前驅的ndarray,可用於重建最短路徑。

例子

>>> M = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                   dtype=['int32', 'int32', 'float32'], header=None)
>>> G = cugraph.Graph()
>>> G.from_cudf_edgelist(M, source='0', destination='1')
>>> distances = cugraph.sssp(G, 0)

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cugraph.traversal.sssp.sssp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。