【问题标题】:How to find total number of friends groups如何查找朋友组的总数
【发布时间】:2016-09-28 11:45:17
【问题描述】:

我有一张友情图如下

我想找到所有可能的朋友群。找到这些分组的最佳算法是什么。例如在此图中,可能的友谊组如下:1,2,3,4,12,13,23,123,14,143,124,1234

如果我使用蛮力算法(从每个顶点开始并执行 4 次),它会生成大量重复。

【问题讨论】:

  • 您能为您的图表数据提供一种格式吗?
  • 请注意,最有趣的问题是,如何找到引入最少错误数的线性算法(并定义错误计数函数)
  • @igael 我更愿意将其存储为邻接列表,因为在大多数情况下图形可能是稀疏的。
  • 没问题,提供一个格式(问题仍然存在:"查找数字" 而不是"枚举它们"

标签: algorithm graph-algorithm


【解决方案1】:

根据Wikipedia,它是 NP 完全的,因此您只能使用蛮力来检测此类集合。该问题称为Clique problem,是第一个确定的 NP 完全问题。

【讨论】:

  • 是的,它是 NPH。我正在寻找更快的稀疏图算法。
  • 谢谢,我会检查一下
  • 根据 OP,1234 也是一个好友组,但这不是一个完整的子图。在我看来,OP 的问题是找到所有可能的连接组件
  • @NARAYANCHANGDER 是 1234 好吗?
  • 是的 1234 是解决方案的一部分。在给定的图中,答案是 1,2,3,4,12,13,23,123,14,143,124,1234。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多