用法:
cugraph.traversal.bfs.bfs(G, start=None, depth_limit=None, i_start=None, directed=None, return_predecessors=None)
查找图的广度优先遍历的距离和前辈。
- G:cugraph.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)
相关用法
- Python cugraph.traversal.bfs.bfs_edges用法及代码示例
- Python cugraph.traversal.sssp.sssp用法及代码示例
- Python cugraph.tree.minimum_spanning_tree.maximum_spanning_tree用法及代码示例
- Python cugraph.tree.minimum_spanning_tree.minimum_spanning_tree用法及代码示例
- Python cugraph.community.spectral_clustering.spectralBalancedCutClustering用法及代码示例
- Python cugraph.link_prediction.jaccard.jaccard用法及代码示例
- Python cugraph.link_prediction.wjaccard.jaccard_w用法及代码示例
- Python cugraph.community.ecg.ecg用法及代码示例
- Python cugraph.Graph.from_cudf_adjlist用法及代码示例
- Python cugraph.community.louvain.louvain用法及代码示例
- Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代码示例
- Python cugraph.link_analysis.pagerank.pagerank用法及代码示例
- Python cugraph.dask.community.louvain.louvain用法及代码示例
- Python cugraph.community.egonet.batched_ego_graphs用法及代码示例
- Python cugraph.Graph.from_cudf_edgelist用法及代码示例
- Python cugraph.centrality.betweenness_centrality.edge_betweenness_centrality用法及代码示例
- Python cugraph.link_prediction.woverlap.overlap_w用法及代码示例
- Python cugraph.link_prediction.overlap.overlap用法及代码示例
- Python cugraph.link_prediction.jaccard.jaccard_coefficient用法及代码示例
- Python cugraph.components.connectivity.strongly_connected_components用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.traversal.bfs.bfs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。