直接回答
时间复杂度描述算法运行时间随输入规模 n 增长的趋势,空间复杂度描述额外内存占用的趋势,都用大 O 记号表示渐近上界,忽略常数和低阶项。分析方法:找出基本操作执行次数关于 n 的表达式,保留最高阶项。
展开解析
常见量级从低到高:O(1)、O(log n)、O(n)、O(n log n)、O(n²)、O(2ⁿ)。分析技巧:顺序结构取最大值;嵌套循环通常相乘,但要注意内层循环界依赖外层变量时需精确求和(如 i 从 0 到 n、j 从 0 到 i 是 n²/2,仍 O(n²));递归用递归树或主定理,如归并排序 T(n)=2T(n/2)+O(n) 得 O(n log n)。二分、位运算是 O(log n) 的典型。易错点:把摊还复杂度当单次复杂度(如动态数组 append 摊还 O(1));混淆最好/最坏/平均情况(快排平均 O(n log n)、最坏 O(n²));空间复杂度忘算递归栈深度。