卡特兰数又称卡塔兰数,英文名 Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为 :
- 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786,
- 208012, 742900, 2674440, 9694845, 35357670, 129644790,
- 477638700, 1767263190, 6564120420, 24466267020, 91482563640,
- 343059613650, 1289904147324, 4861946401452, …
h(0)=1,h(1)=1,递归关系式如下:
h(n)=∑k=0n−1h(k)⋅h(n−1−k)
和一维离散时间傅里叶变换 o[n]=f[n]⋆g[n]=∑u→∞∞f[n−u]⋅g[u]=∑u→∞∞f[u]⋅g[n−u]一样,都是下标之间存在一定的关系。
最终可得:
h(n)=(2nn)n+1=2n!n!(n+1)!
此外还需注意的一点是,如果卡特兰数列不是从 0 而是从 1 开始计数的话,形式要发生一些变化:
h[n]=∑t=1n−1h[t]⋅h[n−t]
1. 卡特兰数列的应用
矩阵连乘的时间复杂度(不同的 t 表示不同的切分方法,也即乘积顺序):
T[N]=∑t=1N−1T[t]⋅T[N−t]