系统分析师 | VIP课程 | 计算分析 专栏

ONEP软考智能体年卡VIP付费专属内容:涵盖速通课程、项目背景、优质范文、论文精批、知识拓展六大类内容,提供全流程备考支持。

本篇内容摘要

第2-7章算法时间空间复杂度分步解题(VIP专享):配套动画:calculate40|第 27 章算法时间空间复杂度解题动画.html按标准步骤拆解计算全过程,公式与易错点一目了然,练熟即可稳拿计算送分。

❤️‍🔥 95
2026/08/02
☆
▶

calculate19|第2-7章算法时间空间复杂度分步解题

ONEPSOFT | 软考学习知识库


calculate19|第2-7章算法时间空间复杂度分步解题

配套动画:calculate40|第 2-7 章算法时间空间复杂度解题动画.html

说明:大 O 严格定义与主定理属标准计算机科学方法(教程第 7 章以具体算法 O(…) 实例呈现,未逐字给理论定义),本文件依标准 CS 方法构造并标注。

一、题目

题目 A(嵌套循环):下列代码的时间复杂度?

for i = 1..n {
    for j = 1..n {
        基本操作
    }
}

题目 B(主定理):递归式 T(n) = 2T(n/2) + O(n) 的时间复杂度?

二、核心公式(先算准)

  • 大 O 记号:若存在正常数 c、n0,使 n≥n0 时 0≤f(n)≤c·g(n),则 f(n)=O(g(n))(渐进上界,丢常数/低阶/系数)。
  • 常见阶数(由快到慢):O(1) \< O(log n) \< O(n) \< O(n log n) \< O(n²) \< O(n³) \< O(2ⁿ) \< O(n!)。
  • 嵌套循环:时间复杂度 = 各层阶数相乘(层乘阶)。
  • 主定理:对 T(n)=aT(n/b)+f(n)(a≥1, b>1),先算关键量 n^(log\_b a),再与 f(n) 比较:
  • 情形 1:f(n)=O(n^(log\_b a − ε)) → T(n)=Θ(n^(log\_b a))
  • 情形 2:f(n)=Θ(n^(log\_b a)) → T(n)=Θ(n^(log\_b a) · log n)
  • 情形 3:f(n)=Ω(n^(log\_b a + ε)) 且正则 → T(n)=Θ(f(n))

三、分步计算

题目 A:嵌套循环判阶

  • 外层 i 循环执行 n 次;
  • 每次内层 j 循环执行 n 次;
  • 基本操作总次数 = n × n = n²;
  • 故 T(n) = O(n²)。

口诀 " 层乘阶 ":两层同阶循环 → 阶数相乘。三层 → O(n³);一层 → O(n)。

题目 B:主定理

  1. 识别参数:a=2, b=2, f(n)=O(n)。
  2. 算关键量:log\_b a = log\_2 2 = 1 → n^(log\_b a) = n¹ = n。
  3. 比较 f(n)=O(n) 与 n:二者同阶,属情形 2。
  4. 情形 2 公式:T(n) = Θ(n^(log\_b a) · log n) = Θ(n · log n) = O(n log n)。

这正是归并排序、快速排序平均情况的标准复杂度,优于朴素 O(n²)。

空间复杂度

  • 时间复杂度看 " 操作次数趋势 ",空间复杂度看 " 额外内存随 n 的趋势 "。
  • 题目 A 只用了常数个变量 → 空间 O(1);若另开 n×n 二维数组则为 O(n²)。
  • 题目 B 递归栈深度约 log n(或自底向上 O(1))→ 典型 O(log n)\~O(n)。

四、结果汇总

题目类型时间复杂度空间 (典型)
A双层循环O(n²)O(1)
B主定理情形 2O(n log n)O(log n)\~O(n)

五、考试要点与易错

  1. 层乘阶:嵌套循环阶数相乘,勿把 O(n²) 误判成 O(2n)。
  2. 主定理先算 log\_b a:a=2,b=2→log\_2 2=1;a=3,b=2→log\_2 3≈1.585。
  3. 情形判定看 " 谁大 ":f(n) 比 n^log 小→情形 1;同阶→情形 2;大且正则→情形 3。
  4. log 底省略:复杂度里 log n 默认以 2 为底,写 O(log n)/O(n log n) 均可。
  5. 时间≠空间:二者常需权衡(空间换时间),选择题会分别考。

相关VIP内容推荐......

⤴️分享
⬅️返回
20
2026/08/02
calculate1|第8章 项目管理+挣值管理EVM分步解题
21
2026/08/02
calculate3|第3章 计算机系统基础+性能评估Amdahl分步解题
22
2026/08/02
calculate5|第2章 排队论分步解题
23
2026/08/02
calculate7|第 2 章 线性规划与对策论分步解题
24
2026/08/02
calculate9|第 4 章 奈奎斯特 / 香农定理 · 分步解题
25
2026/08/02
calculate11|第 4 章 子网划分分步解题
26
2026/08/02
calculate13|第 8 章 沟通渠道与网络图分步解题
27
2026/08/02
calculate15|第 9 章 可靠性与可用性 · 分步解题
28
2026/08/02
calculate17|第 15 章可用性 MTBF MTTR(运维场景)分步解题
29
2026/08/02
calculate19|第2-7章算法时间空间复杂度分步解题
ONEPSOFT品牌标识
ONEP软考 | 年卡VIP知识库
© 2025 ONEPSOFT. All rights reserved.