无向图的最大团/最大独立集 算法总结
目录
- 概述
- 普通DFS
- Bron-Kerbosch算法
概述
最大团其实就是最大完全子图的点集,同理极大团也就是极大完全子图的点集,点集内所有的点两两之间都有边相连。
定义 (维基百科):
在图论领域的一个无向图中,满足两两之间有边连接的顶点的集合,被称为该无向图的团。
最大独立集其实就是补图的最大团,因为和最大团相反,最大独立集合内的点两两之间都没有边相连。
定义(维基百科):
一个独立集(也称为稳定集)是一个图中一些两两不相邻的顶点的集合。
普通DFS
该方法很简单粗暴,就是一个个节点尝试。维护一个当前团,每个节点都有两种状态(在当前团中或不在当前团中),如果无法再往里加节点了的话,那么当前团就成为了一个极大团,这样找到所有的极大团并作出比较取舍即可得到最大团。但是这样的时间复杂度达到了O( 2 n 2^n 2n