组合数学——划分数&贝尔数
贝尔数是组合数学里面一种重要的数列(A000110)。
B n B_n Bn为模数为 n n n的集合的划分方法数。
例如集合 { a , b , c } \{a,b,c\} {a,b,c}的划分有:
{ { a } , { b } , { c } } { { a } , { b , c } } { { b } , { a , c } } { { c } , { a , b } } { { a , b , c } } \begin{aligned} &\{ \{a\},\{b\},\{c\}\} \\ &\{ \{a\},\{b,c\}\} \\ &\{ \{b\},\{a,c\}\} \\ &\{ \{c\},\{a,b\}\} \\ &\{ \{a,b,c\}\} \\ \end{aligned} {{a},{b},{c}}{{a},{b,c}}{{b},{a,c}}{{c},{a,b}}{{a,b,c}}
所以 n 3 = 5 n_3 = 5 n3=5。
和第二类斯特林数的联系:
B n = ∑ k = 0 n S ( n , k ) B_n = \sum_{k = 0}^n S(n,k) Bn=k=0∑nS(n,k)
递推公式:
B n + 1 = ∑ k = 0 n ( n k ) B k B_{n+1} = \sum_{k = 0}^n \binom{n}{k} B_k Bn+1=k=0∑n(kn)Bk
考虑元素 B n + 1 B_{n+1} Bn+1可以和前 n n n个元素中的 k k k个元素放在一起即可。
贝尔数作为一种估计,通常用来估计算法的时间复杂度。
当 n = 13 n=13 n=13时, B 13 > 1 e 7 B_{13} > 1e7 B13>1e7。