enumerate_all_cliques#

enumerate_all_cliques(G)[源代码]#

返回无向图中的所有团。

此函数返回一个团的迭代器,每个团都是一个节点列表。迭代按团的大小进行排序:首先是大小为一的所有团,然后是大小为二的所有团,依此类推。

参数:
GNetworkX 图

一个无向图。

返回:
迭代器

一个团的迭代器,每个团是G中的一个节点列表。团按大小排序。

注意

要获取所有团的列表,请使用list(enumerate_all_cliques(G))。但是请注意,在最坏情况下,此列表的长度可能是图中节点数的指数级(例如,当图是完全图时)。此函数通过在搜索过程中只在内存中保留当前候选节点列表来避免将所有团存储在内存中。

此实现改编自 Zhang 等人 (2005) 的算法 [1],用于输出所有发现的团。

此算法忽略自环和并行边,因为团通常不包含此类边。

参考文献

[1]

Yun Zhang, Abu-Khzam, F.N., Baldwin, N.E., Chesler, E.J., Langston, M.A., Samatova, N.F.,“系统生物学中内存密集型应用的基因组规模计算方法”。Supercomputing, 2005。ACM/IEEE SC 2005 会议论文集,第 12 页,2005 年 11 月 12-18 日。<https://doi.org/10.1109/SC.2005.29>。