斯特林数 STIRLING NUMBERS

第二类斯特林数

定义:符号 {nk} 表示有 n 件物品的集合划分成 k 个非空子集的方案数。例如,将有一个有 4 个元素的集合分成两部分有 7 种方法:

{1,2,3}{4}, {1,2,4}{3}, {1,3,4}{2}, {2,3,4}{1}{1,2}{3,4}, {1,3}{2,4}, {1,4}{2,3}

我们来观察小的 k,恰有一种方法将 n 个元素分成一个单独的非空子集,于是对所有 n>0{n1}=1,另一方面 {01}=0,因为有零个元素的集合是空集。

k=0 的情形:{00}=1,对于 n>0{n0}=0

k=2 的情形:有 {02}=0。如果一个有 n>0 个元素的集合被分成两个非空的部分,其中一部分包含最后一个元素以及前 n1 个元素的某个子集。有 2n1 种方式选择那个子集,但是我们不能把那些元素全部放入其中,因为我们想要划分出两个非空的部分。于是我们减去 1{n2}=2n11(n>0)

这个方法的修改引出一个递归式,通过它我们可以对所有的 k 计算 {nk}:给定有 n 个元素的集合,要把它分成 k 个非空的部分。我们可以将最后的元素单独放入一类(有 {n1k1} 种方式),或者把他与前面 n1 个元素的某个非空子集放在一起(有 k{n1k})。从而:

{nk}=k{n1k}+{n1k1}

posted @   Otue  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示