问:求不同二叉树的数目。
设 $b_n$ 表示含有 $n$ 个结点的不同二叉树的数目。
有:
$$ b_n = \sum_{k = 0}^{n - 1} b_k b_{n - 1 - k} $$
设 $B(x)$ 为生成函数:
$$ B(x) = \sum_{n=0}^{\infty}b_n x^n $$
可以证明 $B(x) = xB(x)^2 + 1$。证明 $B(x) = xB(x)^2 + 1$ 的过程如下:
$$ \begin{aligned}B(x)^2 &= \bigl(b_0 x^0 + b_1 x^1 + b_2 x^2 + \cdots \bigr)^2 \\&= b_0^2 x^0 + (b_0 b_1 + b_1 b_0)x^1 + (b_0 b_2 + b_1 b_1 + b_2 b_0)x^2 + \cdots \\&= \sum_{k=0}^0 b_k b_{0-k} x^0 + \sum_{k=0}^1 b_k b_{1-k} x^1 + \sum_{k=0}^2 b_k b_{2-k} x^2 + \cdots\end{aligned} $$
$$ \begin{aligned}xB(x)^2 + 1 &= 1 + \sum_{k=0}^0 b_k b_{1-1-k} x^1 + \sum_{k=0}^2 b_k b_{2-1-k} x^3 + \sum_{k=0}^2 b_k b_{3-1-k} x^2 + \cdots \\[6pt]&= 1 + b_1 x^1 + b_2 x^2 + b_3 x^3 + \cdots \\[6pt]&= b_0 x^0 + b_1 x^1 + b_2 x^2 + b_3 x^3 + \cdots \\[6pt]&= \sum_{n=0}^{\infty} b_n x^n \\[6pt]&= B(x).\end{aligned} $$
因此,可得:
$$ B(x) = \frac{1}{2x}(1 - \sqrt{1-4x} ) $$
由 $f(x)$ 在 点 $x = a$ 处的泰勒展开式
$$ f(x) = \sum_{k=0}^{\infty}\frac{f^{(k)}(a)}{k!}(x-a)^k $$
可得:$\sqrt{1 - 4x}$ 在 $x = 0$ 处的泰勒展开式为
$$ \sqrt{1 - 4x} = \sum_{n=0}^{\infty} \binom{\tfrac{1}{2}}{n} (-4x)^n = 1 - 2x - 2x^2 - 4x^3 - 10x^4 - 28x^5 - \cdots $$
系数是,
$$ a_0 = 1 \\ \\ a_n = - \frac{2(2n-2)!}{(n-1)! \, n!}, \quad n \geq 1 $$
由此,
$$ B(x) = \frac{1}{2x} \left( 1 - f(x) \right)= 1 + x + 2x^2 + 5x^3 + 14x^4 + \cdots = \sum_{n=0}^\infty \frac{(2n)!}{(n+1)! \, n!} x = \sum_{n=0}^\infty \frac{1}{n+1} \cdot \frac{(2n)!}{n! \, n!} x = \sum_{n=0}^\infty \frac{1}{n+1} \binom{2n}{n} x $$