当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cugraph.traversal.bfs.bfs用法及代码示例


用法:

cugraph.traversal.bfs.bfs(G, start=None, depth_limit=None, i_start=None, directed=None, return_predecessors=None)

查找图的广度优先遍历的距离和前辈。

参数

Gcugraph.Graph、networkx.Graph、CuPy 或 SciPy 稀疏矩阵

图形或矩阵对象,应包含连通性信息。边权重(如果存在)应该是单精度或双精度浮点值。

start整数,可选(默认=无)

遍历开始的图顶点的索引

depth_limit整数或无,可选(默认=无)

限制搜索的深度

i_start整数,可选(默认=无)

与开始相同,为 API 兼容性而添加。只能设置 start 或 i_start,不能同时设置。

directed布尔,可选(默认=无)
NOTE

仅适用于 G 的非图形类型(例如稀疏矩阵)值。如果与 Graph 对象一起使用,则引发 TypeError。

如果为 True,则将输入矩阵转换为 cugraph.DiGraph,否则将使用 cugraph.Graph 对象。

return_predecessors

返回

返回值类型基于输入类型。如果 G 是一个 cugraph.Graph,
返回:
cudf.DataFrame

df[‘vertex’] 顶点 ID

df[‘distance’] 每个顶点到起始顶点的路径距离

df[‘predecessor’] 对于列中的每个第 i 个位置,紧接在 ‘vertex’ 列中位置 i 处的顶点之前的顶点 ID

如果 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,可用于重建最短路径。

…或者如果 return_sp_counter 为 True,则返回一个 3 元组,其中包含上述两个数组加上:

sp_counter: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')
>>> df = cugraph.bfs(G, 0)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.traversal.bfs.bfs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。