知识卡片
大O看增长级
内容
时间复杂度关注输入变大时步骤数的增长趋势,故意忽略机器速度和常数细节。它不回答“这次运行几毫秒”,而回答“规模扩大后谁先失控”。发散:性能讨论先分清渐近瓶颈和常数优化。
参考来源
- 位置:《你真的会写代码吗-2021》第2章《Reference的实现》"2.3 时间复杂度"一节(源文件:_epub-src/OEBPS/Text/0011.xhtml)
- 结论依据:原文明确"增长级消除了为基本步数建立具体粒度的负担,从而提供了更抽象但更容易相互比较的性能估计方法……大O符号为函数的增长建立了一个上界",说明大O关注的是规模增大后的趋势而非具体耗时。
- 原始内容:一个更有趣的步数计算方法可以优雅地避开粒度问题,那就是只关注参数大小增长时,步数随之增长的速度。这就是所谓的增长级……更准确地说,大O符号为函数的增长建立了一个上界。因此,O(size1+size2)断言,运行时间与size1和size2的关系最多只是成线性增长。