用一阶矩初步控制随机二叉树的深度
回顾 Catalan 数
\[C = z(1 + C)^2,
\]
根据 Lagrange 反演, 我们有
\[[z^n](1+C)^k = \frac{k}{n}[t^{n-1}] (1+t)^{2n+k-1} = \frac{k}{n} \binom{2n+k-1}{n+k}.
\]
考虑计数随机二叉树有多少个深度为 \(k\) 的节点, 我们有 \(2^k\) 种选法, 选完之后已经钦定了树上有 \(k+1\) 个点, 接下来有 \(k+2\) 个空位可以用来放二叉树, 因此期望是
\[ \begin{align*}
&\quad (C_n)^{-1} 2^k [z^{n-k-1}](1+C)^{k+2}\\
&= (C_n)^{-1} 2^k \frac{k+2}{n-k-1}\binom{2n-k-1}{n+1} \\
&= 2^k (k+2) \binom{n}{k+1} \binom{2n}{k+1}^{-1} \\
&= \frac{k+2}2 \prod_{i=0}^k \left(1 - \frac{i}{2n-i}\right) \\
&\leq \frac{k+2}2 \exp \left\{ -\sum_{i=0}^k \frac{i}{2n}\right\}\\
&\leq \frac{k+2}2 \exp \left\{ -\frac{k^2}{4n}\right\}.
\end{align*} \]
令 \(Z_k\) 为深度 \(= k\) 的点数, 当 \(k = (2 + \epsilon) (n\log n)^{1/2}\), 得到 \(\Pr[Z_k > 0] \leq \mathbb E[Z_k] = O(n^{-\epsilon'})\). 进一步也能说明深度是 \(O((n\log n)^{1/2})\) 的, 虽然这完全比不上真实结果.
令 \(k=\lambda\sqrt n\), 设 \(Z_\lambda\) 是深度 \(\leq \lambda \sqrt n\) 的点数, 有渐进估计 (前面的不等式放掉的都是小量)
\[ \begin{align*}
\mathbb E[Z_\lambda]/n & \sim \int_0^{\lambda} \frac{\lambda}2 \exp \left\{ -\frac{\lambda^2}{4} \right\} \mathrm{d}\lambda\\
&= 1- e^{-\lambda^2/4}.
\end{align*} \]
而 \(\Pr[\mathrm{depth} \leq k] = \Pr[Z_\lambda \geq n] \leq \mathbb E[Z_\lambda]/n \sim 1- e^{-\lambda^2/4}\),
这给出深度的渐进估计
\[\mathbb E[\mathrm{depth}] \gtrsim \sqrt n \int_0^\infty e^{-\lambda^2/4} \mathrm{d}\lambda = \sqrt{\pi n},
\]
总而言之, 我们得到的结果是
\[\sqrt{\pi n} \lesssim \mathbb E[\mathrm{depth}] \leq O((n\log n)^{1/2}).
\]
真实结果是 \(2\sqrt{\pi n}\). (Philippe Flajolet, Andrew Odlyzko, 1982, The average height of binary trees and other simple trees.)
上面各部近似的正确性留作习题.