【学习笔记】与调和级数相关的时间复杂度

手动博客搬家: 本文发表于20181110 16:13:39, 原地址https://blog.csdn.net/suncongbo/article/details/83930408

声明:博主写这个博客的理由只是为了缓解心情,大部分的东西都是我手推的,没有验证过,如果有问题敬请指出。

Noip2018day1完挂,非常难受,过来写个博客颓一下,缓解心情

1. 调和级数
调和级数\(H_n=\sum^{n}_{i=1} \frac{n}{i}=O(n\log n)\)
这个怎么证……抱歉蒟蒻真不会……感性理解就是\(1+\frac{1}{2}+\frac{1}{4}+\frac{1}{4}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+...<1+\frac{1}{2}+\frac{1}{3}+...<1+\frac{1}{2}+\frac{1}{2}+\frac{1}{4}+\frac{1}{4}+\frac{1}{4}+\frac{1}{4}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}+\frac{1}{8}...\)
不过调和级数\(\sum{n}_{i=1} \frac{n}{i}\)是微积分中\(\int^n_{1} \frac{1}{x} dx\)的离散模拟。(这话这么说对吗……抱歉蒟蒻非常菜鸡啥都不会)

然后考虑一个推广的情形: \(T(n)=\sum^{n}_{i=1} (\frac{n}{i})^k\)

2. \(0<k<1\)
\(k<1\)时,我们化简一下式子:仍然考虑转化为积分式,\(n^k\int^{n}_{1} x^{-k} dx=n^k\frac{1}{1-k}n^{1-k}=\frac{1}{1-k}n=O(n)\)
例如,数论中经常碰到某算法时间复杂度为\(\sum^{n}_{i=1} \sqrt{\frac{n}{i}}\), 该复杂度即为\(O(n)\).
但是请注意,当\(k\)接近\(1\)的时候,\(O(n)\)的背后将隐藏着巨大的常数……比如\(k=0.99\) , 实验表明当\(n\)比较小的时候\(k=0.99\)\(k=1\)差别并不大,但是理论上来说当\(n\)趋近于\(+inf\)时,前者将收敛于大约\(100n\), 后者将发散。

3. \(k>1\)
\(k>1\)时, \(n^k\int_1^n x^{-k} dx=O(n^k)\)
因此,\(k>1\)\(\frac{n}{k}\)的影响几乎可以忽略。不过同理\(k\)接近\(1\)时也会有大常数。

好了心情恢复一点了,继续等待明天的GG……

转载于:https://www.cnblogs.com/suncongbo/p/10308789.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值