算法系列01:复杂度入门,为什么 O(n) 比 O(n²) 更重要

用输入规模判断程序增长速度,避免写出小样本没问题、真实数据会超时的代码。

学习目标 用统一语言描述“快”和“慢” 用复杂度快速估算可行性 学会把常见代码段翻译为复杂度表达 核心思路 复杂度看的是随输入规模增长的趋势,不是当前这一次的秒数。常见类型: O(1):常数时间,不随 n 变 O(log n):每次规模减半 O(n):线性增长 O(n log n):常见高效排序 O(n²):双重循环,规模翻倍会明显变慢 O(2^n):指数增长,规模大时要谨慎 简单判读模板 O(1):几行固定操作 O(n):单层循环 O(n²):两层嵌套循环 O(log n):每步规模减半 实战建议 写代码前先判断 n 的量级。 同类问题先比较复杂度,再比常数项优化。 多关注整体流程的瓶颈。