You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scipy中connected_components处理给定稀疏矩阵的输出结果原因解析

代码输出结果解释

运行的完整代码如下:

import numpy as np
from scipy.sparse import csr_matrix
from scipy.sparse.csgraph import connected_components

arr = np.array([
   [0, 1, 2],
   [1, 0, 0],
   [2, 0, 0]
])
newarr = csr_matrix(arr)
print(connected_components(newarr))

函数返回值规则

connected_components函数用于计算稀疏图的连通分量,返回值为二元组,含义分别为:

  • 第一个元素:图中连通分量的总数量
  • 第二个元素:长度等于节点总数的数组,每个位置的取值对应对应编号节点所属的连通分量标签,标签从0开始依次分配
    该函数默认将输入视为无向图,只要两个节点之间存在非零边,就会判定为双向连通。

邻接矩阵的图结构

输入的邻接矩阵arr对应3个节点(编号为0、1、2)的无向图,矩阵中的非零值代表两个节点之间存在连通边:

  • 矩阵第0行第1列、第1行第0列取值为1 → 节点0和节点1直接连通
  • 矩阵第0行第2列、第2行第0列取值为2 → 节点0和节点2直接连通
    三个节点通过节点0互相连通,整个图仅存在1个连通分量。

输出结果含义

输出(1, array([0, 0, 0], dtype=int32))的对应解释为:

  • 第一个返回值1:该图总共有1个连通分量
  • 第二个返回的数组:编号为0、1、2的三个节点,均属于标签为0的同一个连通分量

内容的提问来源于stack exchange,提问作者Anamika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 20:15:00