时间复杂度的相关知识(2)

双重循环

例如,用大O记法表示时间复杂度相关知识(1)里3段程序的运行时间,则第一段程序的时间复杂度为O(1),第二段程序的时间复杂度为O(n),第三段程序的时间复杂度为O(n²)

如下列举了常用的几种时间复杂度,以及它们之间的大小关系:

O(1) < O(logn) < O(n) < O(n²) < O(n³) < O()

常数阶 < 对数阶 < 线性阶 < 平方阶 < 立方阶 < 指数阶

在做题的时候,需要仔细阅读题目给出的数据范围,避免时间超限,对比不同复杂度的增长,大概最大可以接受数据如下表显示。以下只是数量级的建议,具体情况具体分析。

|----------------------------------------|-------------------------------------------------------------------------------|
| 算法复杂度 | 建议不超过的n的范围 |
| O(logn) | long long范围内 |
| O(n) | |
| O(nlogn) | ~5* |
| O(n²) | 1000~5000 |
| O(n³) | 200~500 |
| O() | 20~24 |
| O(n!) | 12 |

相关推荐
郝学胜_神的一滴8 小时前
CMake 034:生成器表达式:解耦构建时序、精简分支逻辑的终极利器
c++·cmake
见过夏天1 天前
C++ 基础入门完全指南
c++
用户805533698032 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
BadBadBad__AK3 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
卷无止境3 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
卷无止境3 天前
OpenMPI、MPICH 与 OpenMP:关系、核心概念与架构全解
c++·后端
郝学胜_神的一滴4 天前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
卷无止境6 天前
C++ 的Eigen 库全解析
c++
卷无止境6 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端
郝学胜_神的一滴6 天前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake