我有一个数据集,其中包含顶点及其连接到的其他顶点。该数据集表示一个无向图。我想要确定的是该数据集中存在多少个不连通的离散图。
例如下面的数据(顶点,连接顶点的数组)将表示两个不连通的离散图:
123,[567,345]
345,[123,567,789]
567,[123,345]
789,[345]
321,[987]
987,[321]
在这样一个小的数据集上,我很容易想象出答案的方法,但是当我将其扩展到数亿个顶点的数据集时,我不确定是否有任何非常高效的方法。 我倾向于做一些可以在Hadoop上运行的事情,但无论是直接编写MapReduce作业还是使用像Giraph或Faunus这样的工具,我都希望能得到一些建议。
谢谢。