极大团算法思路小记

最大团和极大团不一样,该算法应该是极大团算法

Bron-Kerbosch算法

Input: The graph G 
Output: the set of all maximal cliques: C
1: Initialize C and two vertex sets R, X with ∅ 
2: Define P ← the node set of G

3: function BRONKER(R, P, X):
4:   if P = ∅ & X= ∅
5:      then Add R to C
6:   end if 
7:   for v ∈ P do
8:      Define N(v) ← the neighbor set of v
9:      BRONKER( R ∪ v, P ∩ N(v), X ∩ N(v)) 
10:     P ← P \ v
11:     X ← X ∪ v
12:  end for
13: end function

14: BRONKER(R, P, X)
15: return C

算法的原理:
R是一个团,不断查找这个团中元素共同的邻居,形成一个极大团。而P则是R中元素的共同邻居集合,所以P中的每一个元素 v 都符合条件可以扩充R的团,对于P中的每一个元素 v ,将其加入R,则扩充后的团的共同邻居集合需要更新,需要找出R和 v 共同的邻居,即原始团R的共同邻居集合P和扩充该团的元素 v 的邻居集的交集。
在包含 v 的极大团被搜索之后,就将 v 从P中去掉,否则可能在后续搜索 v 的邻居节点 v' 的时候,又将包含 v 的极大团整了一遍。集合X中的元素a就是表示团R的共同邻居中,a的团已经搜索过了。P为空时,则X也为空

原文链接: https://www.cnblogs.com/lxzbky/p/15972113.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    极大团算法思路小记

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/399917

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月14日 上午9:38
下一篇 2023年4月14日 上午9:38

相关推荐