斯特林公式与大O符号的数学分析

1、斯特林公式对阶乘函数的近似为n! = Θ(√2πn( n/e )ⁿ) (n为整数)。这是否意味着n!的增长速度比√2πn( n/e )ⁿ更快、更慢还是相同?绘制n = 1,2,…,20时斯特林公式左右两边比值的图像。随着n值的增加,近似的百分比误差如何变化?

根据大Θ符号的定义,$ n! = \Theta(\sqrt{2\pi n} \left( \frac{n}{e} \right)^n) $ 意味着 $ n! $ 和 $ \sqrt{2\pi n} \left( \frac{n}{e} \right)^n $ 具有相同的增长速度。

要绘制 $ n = 1, 2, \ldots, 20 $ 时斯特林公式左右两边比值的图像,可以计算比值:

$$
r(n) = \frac{n!}{\sqrt{2\pi n} \left( \frac{n}{e} \right)^n}
$$

然后用绘图工具绘制 $ r(n) $ 关于 $ n $ 的图像。

随着 $ n $ 值的增加,斯特林公式近似的百分比误差会逐渐减小。因为斯特林公式是一个渐近近似,当 $ n $ 趋向于无穷大时,近似会越来越精确。

2、对以下涉及O(·)符号的具体命题进行正确或错误分类,如果错误,请给出修正版本:(a) O(n³ + n⁵) = O(n³) + O(n⁵) (b) O(n² × logn) = O(n²) × O(logn) (c) 0.0001n³ + 1000n².⁹⁹ + 17 = O(n³) (d) 4n⁴ + 3n³.² + 13n².¹ = O(n⁷.²) (e) logn¹⁰ = O(logn) (f) (logn)¹⁰ = O(n².¹) (g) 3log₁₀ n² + 10log₂ log₂ n¹⁰ = O(logₑ n)

(a) 正确。根据大O符号性质,$ O(f(n) + g(n)) = O(f(n)) + O(g(n)) $,这里 $ f(n) = n^3 $,$ g(n) = n^5 $。

(b) 正确。大O符号满足 $ O(f(n) \times g(n)) = O(f(n)) \times O(g(n)) $,这里 $ f(n) = n^2 $,$ g(n) = \log n $。

(c) 正确。多项式中最高次项决定其大O复杂度,该式最高次项为 $ n^3 $。

(d) 错误。该式最高次项为 $ n^4 $,应修正为 $ 4n^4 + 3n^{3.2} + 13n^{2.1} = O(n^4) $。

(e) 正确。根据对数运算法则,$ \log n^{10} = 10 \log n $,常数不影响大O复杂度。

(f) 正确。当n足够大时,多项式函数 $ n^{2.1} $ 增长速度快于对数函数的幂 $ (\log n)^{10} $。

(g) 正确。$ 3 \log_{10} n^2 = 6 \log_{10} n $,$ 10 \log_2 \log_2 n^{10} $ 增长速度慢于对数函数,整体复杂度为 $ O(\log_e n) $。

3、对以下关于大O符号(O(·))的通用命题进行判断,看其是否正确;若不正确,请给出修正版本:(a) 若f (n) = O(g(n)),则对于任意的k,有kf (n) = O(g(n))。(b) 若f (n) = O(g(n))且h(n) = O(g′(n)),则f (n) + h(n) = O(g(n) + g′(n))。(c) 若f (n) = O(g(n))且h(n) = O(g′(n)),则f (n)h(n) = O(g(n)g′(n))。(d) 若f (n) = O(g(n))且g(n) = O(h(n)),则f (n) = O(h(n))。(e) 若f (n)是一个d次多项式,则f (n) = O(nd)。(f) 对于k > 0,有lognk = O(logn)。(g) 对于k > 0和j > 0,有(logn)k = O(nj)。

这些命题都是正确的,无需修正。根据大O符号的定义:

  • 命题(a)中,由于 $ f(n) $ 受 $ g(n) $ 渐近上界约束,乘以常数 $ k $ 不改变其渐近上界;
  • 命题(b)、(c) 是大O符号在加法和乘法运算上的性质;
  • 命题(d) 体现了大O符号的传递性;
  • 命题(e),多项式的渐近复杂度由其最高次项决定;
  • 命题(f),对数函数的幂次不改变其渐近复杂度;
  • 命题(g),对数函数的幂次增长速度慢于多项式函数。

4、复杂度分析通常涉及对有限项级数求和。以封闭形式计算以下求和:(a) ∑(i从1到n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值