掌握这些数学函数,你会在算法效率的分析时经常用到( 二 )
文章插图
图 2 告诉我们 , 该问题规模是 1 的时候 , 所有算法都同样有效 , 问题规模越大 , 不同复杂度的算法运行效率相差得越大 。
2^N 增长得太过迅猛 , 作为一个另类单独列出 。
▼ 代码 3 2^N 的增长
01 for N in range(10, 110, 10):02 print('2**{0} = {1}'.format(N, 2 ** N))
运行结果如图 3 所示 。
文章插图
▲ 图 4.3 2^N 的增长
这些运行结果告诉我们 , 有些时候 , 选择正确的算法是解决问题的唯一途径 。 对于函数的输出结果来说 , 如果把 100 看作 1 秒 , 那么 10000 就是 100 秒 , 超过 1 分半 。 这意味着对于一个规模是 1000000 的问题来说 , 一个是 lg?N 复杂度的算法可以立刻得出结果 , √N 复杂度的算法耗时约 10 秒 , N 复杂度的算法耗时将超过 2.7 小时 , N^3 复杂度则需要 3 万多年!也许我们可以忍受一运行 10 秒或 2.7 小时的程序 , 但一定没法容忍有生之年看不到结果的程序 。
文章插图
上文 [遇见] 授权节选自北大出版社《程序员数学从零开始》
【掌握这些数学函数,你会在算法效率的分析时经常用到】270余幅插图+90余段Python代码+20余个原理剖析 , 教你学会程序员必须掌握的数学及算法背后的数学原理 。
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰
- 深度|iPhone12到底值得买吗 深度体验一周我发现了这些
- 与用户|掌握好这4个步骤,实现了规模性的盈利
- 绝不能|互联网也有“五连鞭”毒瘤,绝不能让这些“割韭菜者”一跑了之
- 5G|5G速度到底有多快?用过这些手机你才知道
- 手机|便宜没好货!为什么二手iPhone很便宜,这些手机都来自哪儿?
- 文章|局座张召忠:分析局座历年的文章发现,我发现这些秘密
- 表现|抖音大数据公布,OPPO成了亮眼存在,这些表现要给满分
- 选对|为何都说这次OriginOS的方向选对了?来看下这些细节就知道了