如何从定义了 n 个点之间所有关系的矩阵中找到组数?

Posted

技术标签:

【中文标题】如何从定义了 n 个点之间所有关系的矩阵中找到组数?【英文标题】:How do you find number of groups from a matrix that defines all the relationship between n points? 【发布时间】:2021-09-12 12:34:19 【问题描述】:

比如说,你有n 点和一个二维矩阵,它给出了这些点之间的关系。 现在如何解析它,以便能够计算这些n 点形成的组数。假设1->22->3 然后1->3。假设它是一个无向图并且矩阵的每个单元格定义索引ij(两种方式)处的元素是否连接。 我很难直观地理解如何看待这些问题,尤其是与图形相关的问题。

【问题讨论】:

This 可能会有所帮助。 您必须准确定义“组”的含义,以及关系是单向还是双向(即,您有有向图还是无向图) 【参考方案1】:

这就是所谓的查找图表的connected components,可以使用广度优先或深度优先搜索来完成。

【讨论】:

以上是关于如何从定义了 n 个点之间所有关系的矩阵中找到组数?的主要内容,如果未能解决你的问题,请参考以下文章

最大子矩阵(信息学奥赛一本通 1224)

matlab数组中如何找某个值的坐标

如何用c语言从一组给定数中找到一个数或者几个数的和使其值最接近指定的数

如何使用javascript HTML5画布通过N个点绘制平滑曲线?

扫描矩阵并在 Matlab 中找到 2 个范围之间的最大值

cf1131D