📜  凯莱公式(1)

📅  最后修改于: 2023-12-03 15:36:49.742000             🧑  作者: Mango

凯莱公式介绍

凯莱公式(Cayley's formula),又称柯利公式(Cayley's theorem),是一个组合意义下的有标号无向图计数公式。它是整体群论、李代数等领域中的一个重要工具。

凯莱公式的主要技巧是将$n$个节点构成的无向图表示成$n$个节点构成的有根树(rooted tree),并对根节点进行标号。由于根节点可以是任意一个点,所以有$n$种情况,所以总方案数是$n^{n-2}$。

在程序中使用凯莱公式可以解决一些组合问题,比如给定$n$个节点,求不同的生成树个数,以及求$n$个节点构成的图的哈密顿回路个数等问题。

下面是Python代码实现凯莱公式,其中用到了math库中的阶乘函数math.factorial()

import math

def cayley_formula(n):
    return math.factorial(n) ** (n - 2)

# 例子:求5个节点构成的无向图生成树个数
print(cayley_formula(5))  # 输出:625

以上代码返回的是一个整数,表示$n$个节点构成的无向图生成树的个数。