我正在尝试用Java实现上述社区检测算法,虽然我可以访问C++代码和原始论文-我根本无法使其工作。我的主要问题是我不明白代码的目的——即算法是如何工作的。实际上,我的代码在mergeBestQ处陷入了似乎是无限循环的状态。,名单heap似乎每次迭代都变大(正如我从代码中所期望的那样),但topQ的值总是返回相同的值。我正在测试的图非常大(300,000个节点,650,000条边)。我用于实现的原始代码来自SNAP库(https://github.com/snap-stanford/snap/blob/master/snap-core/cmty.cpp)。如果有人可以向我解释算法的直觉,