0

我有一个关于 DFS 的简单问题,我试图了解如何使用它,而不是如何解决整个问题。我真的在寻找一个解释,而不是我的作业的解决方案。

我先把问题写下来。

“假设你有一个无向图 G=(V,E) 并让它的三个顶点被称为 v1、v2 和 v3。找到一个算法来确定这三个顶点是否是一个团(完整图)的一部分(k> =3)"

现在我想使用 DFS 来解决它。据我了解,DFS 会让我知道 v1、v2 和 v3 是否在同一个强连接组件中。如果我是正确的,我还应该确定 G 是否也是一个集团(完整图)。

我在互联网上阅读,我发现断言一个图是否是集团是 NP 并且不容易解决。我对么?我错过了什么吗?是否有任何属性可以用来立即确定图表是否完整?

4

2 回答 2

4

澄清关于 NP 完全性的混淆:检查一个图是否是一个团不是 NP 完全的;只需计算边缘并查看是否有n(n-1)/ 2。NP完全是在n个顶点的图中找到一个最大团(即具有最大数量的顶点并且是一个团的子图)或k个顶点的团(如果k是输入的一部分而不是a固定号码);后一种情况称为集团决策问题。

编辑:我刚刚意识到你也问了一些关于强连接组件的问题;该术语仅适用于有向图(即边有一个方向,这意味着对于两个顶点vw,边v->w与边不同w->v)。团通常在无向图上定义,其中只有连通分量。

于 2013-03-23T15:28:54.323 回答
1

如果我理解正确,您只需检查这三个顶点是否连接,即边 v1-v2、v2-v3 和 v3-v1 是否存在。如果它们存在,它们会形成一个 K=3 的集团。如果其中至少有一个不存在,则这三个顶点一起不能在大小为 k>=3 的团中。

于 2013-03-23T21:32:42.700 回答