高效寻找小完全子图
1. 引言
判断一个给定图 $G = (V, E)$ 是否包含 $k$ 个顶点的完全子图,是最自然且易于描述的算法图问题之一。若子图大小 $k$ 是输入的一部分,这就是 NP 完全的团问题。对于固定的 $k$,可以通过一个运行时间为 $O(n^k)$ 的暴力算法来确定给定图 $G$ 是否包含 $k$ 个顶点的完全子图。
当 $k = 3$ 时,判断图中是否存在三角形、找到一个三角形(如果存在)或计算图中所有三角形的数量,可以使用 Itai 和 Rodeh 的算法在 $O(n^{\omega})$ 时间内完成,其中 $\omega < 2.373$ 是矩阵乘法的指数。该算法比较图的邻接矩阵 $M$ 和 $M^2$。另外,Alon、Yuster 和 Zwick 的算法可以在 $O(m^{2\omega/(\omega + 1)}) = O(m^{1.408})$ 时间内完成相同任务。Itai 和 Rodeh 以及 Papadimitriou 和 Yannakakis 还有 Chiba 和 Nishizeki 都表明,在平面图中可以在 $O(n)$ 时间内找到三角形。
当 $k = 4$ 时,判断图中是否存在 $K_4$、找到一个 $K_4$(如果存在)或计算图中所有 $K_4$ 的数量,可以使用 Alon、Yuster 和 Zwick 的算法在 $O(n^{\omega + 1}) = O(n^{3.373})$ 时间内完成,Eisenbrand 和 Grandoni 的算法在 $O(n^{3.252})$ 时间内完成,Kloks、Kratsch 和 Müller 的算法在 $O(m^{(\omega + 1)/2}) = O(m^{1.687})$ 时间内
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



