寻找大小为 "n" 的所有极大团
在您已经探索了三角形(以及开三角形)之后,接下来我们来看极大团的概念。极大团是指无法通过添加相邻边来扩展的团。在寻找社群时,这是图的一种有用性质。NetworkX 提供了一个函数,可用于识别图中每个极大团所包含的节点:nx.find_cliques(G)。请在 IPython Shell 中对 T 试用该函数,熟悉其用法,然后完成本练习。
本练习是课程的一部分
Python 网络分析入门
练习说明
- 编写函数
maximal_cliques(),包含两个参数G和size,用于找到所有大小为n的极大团。- 在
for循环中,使用nx.find_cliques()遍历G中的所有团。 - 如果当前团的大小为
size,将其追加到列表mcs。
- 在
- 使用
assert语句和您编写的maximal_cliques()函数,检查图T中大小为3的极大团是否共有33个。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define maximal_cliques()
def ____:
"""
Finds all maximal cliques in graph `G` that are of size `size`.
"""
mcs = []
for clique in ____:
if ____ == ____:
____
return mcs
# Check that there are 33 maximal cliques of size 3 in the graph T
assert ____ == ____