igraph 组件:哪种算法引用?

问题描述

我在学术研究中使用 igraph,我需要为 components() 命令中使用的算法提供正确的引用。该算法返回图的连通分量。 The command in question is documented here。它是 R/CRAN igraph 库的一部分。

我认为使用的算法是下面的算法,这似乎是规范的工作时间算法cited on the Wikipedia page for connected components

霍普克罗夫特,J.; Tarjan,R. (1973),“Algorithm 447: efficient algorithms for graph manipulation”,ACM 通讯,16 (6):372–378,doi:10.1145/362248.362272

有谁知道用的是什么算法?

解决方法

需要注意的是,R中的igraph实际上是写成c/c++的。如果您想深入了解如何实现 components,您应该追溯到其 cc++ 源代码。

这是 components 源代码的链接 https://github.com/igraph/igraph/blob/f9b6ace881c3c0ba46956f6665043e43b95fa196/src/components.c

但是,似乎源代码中没有提到应用的算法。我想你可以通过电子邮件联系作者并寻求帮助。