【发布时间】:2014-06-18 00:18:57
【问题描述】:
我正在尝试找到一种算法来在无向连通图中找到子图,其中子图中的每个顶点与子图中的每个其他顶点都有一条边。
我真正的问题是我无法对这个问题进行分类,因此我可以研究可能的算法或解决方案。
有谁知道这个问题叫什么,或者是否有任何现有的算法可以解决这个问题?
【问题讨论】:
标签: algorithm theory graph-theory
我正在尝试找到一种算法来在无向连通图中找到子图,其中子图中的每个顶点与子图中的每个其他顶点都有一条边。
我真正的问题是我无法对这个问题进行分类,因此我可以研究可能的算法或解决方案。
有谁知道这个问题叫什么,或者是否有任何现有的算法可以解决这个问题?
【问题讨论】:
标签: algorithm theory graph-theory
我相信你指的是Clique problem。
【讨论】:
嗯,
我相信我在算法课上遇到过类似的事情。抱歉,我没有旧代码,但我相信您尝试做的与 Kosaraju 的算法相似
我在维基百科上做了一些简短的阅读:http://en.wikipedia.org/wiki/Strongly_connected_component
我的印象是,强连接并不意味着每个顶点都与图中的每个其他顶点都有边。我不确定这是否是使用“强连接”或您如何定义它的问题。
我用谷歌搜索了它以进行澄清,我相信强连接意味着这一点: 如果图的每对顶点之间在每个方向上都有一条路径,则为强连通 例如
a->b->c->a 将是强连接的。
根据您的定义,我相信您是想说: a->b->c->a && a->c->b->a.
如果我错了,请纠正我。您定义连接的方式导致了两种不同的算法。
@D.Shawley 是的,我相信这是正确的,基于“子图中的每个顶点与子图中的每个其他顶点都有边”。但是基于强连接的定义,我认为该算法不太具体,并且与 Kosaraju 的相关性更高
【讨论】: