开始使用免费开始使用

寻找大小为 "n" 的所有极大团

在您已经探索了三角形(以及开三角形)之后,接下来我们来看极大团的概念。极大团是指无法通过添加相邻边来扩展的团。在寻找社群时,这是图的一种有用性质。NetworkX 提供了一个函数,可用于识别图中每个极大团所包含的节点:nx.find_cliques(G)。请在 IPython Shell 中对 T 试用该函数,熟悉其用法,然后完成本练习。

本练习是课程的一部分

Python 网络分析入门

查看课程

练习说明

  • 编写函数 maximal_cliques(),包含两个参数 Gsize,用于找到所有大小为 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 ____ == ____
编辑并运行代码