[Ex7.53]
a. 通过 buildHeap 最多使用 $2N$ 次比较的事实, 证明堆个数的下界为 $N!/2^{2N}$.
b. 利用 Stirling 公式扩展这个界.
Remark:
关于 Stirling 公式, 参见 问题703
另外,
\[
N! > 2^{2N}=4^N \Leftrightarrow N\geq 9
\]
N | $N!$ | $4^N$ |
1 | 1 | 4 |
2 | 2 | 16 |
3 | 6 | 64 |
4 | 24 | 256 |
5 | 120 | 1,024 |
6 | 720 | 4,096 |
7 | 5,040 | 16,384 |
8 | 40,320 | 65,536 |
9 | 362,880 | 262,144 |
10 | 3,628,800 | |
11 | 39,916,800 | |
12 | 479,001,600 | |
13 | 6,227,020,800 | |
14 | 87,178,291,200 | |
15 | 1,307,674,368,000 |
$N=1$, 只有 1 种
$N=2$, 一种
$N=3$, 两种
$N=4$, 三种
$N=5$, 8 种($3!+2!$)
$N=6$, 共 $4!-3!+3!+2!=26$ 种
$N=7$,
$N=8$,
$N=9$,