Chapter1,Problems 1-1

<<Introduction to Algorithms>>第三版,Chapter1,Problems 1-1,


即对输入为n的一个算法,假设其需要运行f(n)毫秒才能得出结果,那么对下表中不同的时间t,算出能在此时间能完成运行所对应的最大的n。


一般的算法题都是对相同的输入大小n,计算不同的运行时间。此题正好反过来,限定时间,看在这个时间内,不同的算法能够求解的最大的输入大小。为了有一个直观的认识,我计算了一下,得出了下面的结果:

可以看出,算法的优劣对性能的影响极为巨大(可以对比一下lgn和n!),特别是对于海量的数据。同时,还可以发现,在上表中f(n)的性能是依次下降的。特别是指数和阶乘所对应的NP问题,更为明显。


PS:在求解f(n)=nlgn时所对应的n的程序中,一开始偷懒,写了个线性的算法,结果在算最后一项(1 century)的时候等了n长时间不出结果(这可是我刚配的i3双核3.3G的机子啊。。。),然后又改成二分法,瞬间就出了结果。再一次证明了lgn和n之间的巨大差距!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值