时间复杂度的相关知识(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 |

相关推荐
huanbailu1 小时前
Qt 跨线程信号槽:connect 返回 true 但槽函数不执行的坑
开发语言·c++·qt·信号槽·跨线程·元类型
HEJOO91 小时前
C++ 虚函数表(vtable)深度解析
开发语言·c++
xailorliu2 小时前
矩阵定性-正定负定不定半正定半负定
c++·opencv·线性代数·计算机视觉·矩阵
个 人 练 习 生3 小时前
C++-----string基本使用详解
开发语言·c++·学习
朝朝辞暮i3 小时前
C++ 第 5 课:else if + 多条件判断 + && / || / !
开发语言·c++
千谦阙听3 小时前
【C++篇】:string类——常用接口、底层原理与深浅拷贝
开发语言·c++·学习·visual studio
特立独行的猫A3 小时前
c++的`std::future` 与 `std::promise` 简明教程(5分钟读完)
c++
特立独行的猫A3 小时前
C++ 异步编程:std::future 与 std::promise 详解(含 RPC 客户端实现实践)
c++·后端
All for pursuit.4 小时前
【分治-2】215.数组中的第K个最大元素
数据结构·c++·算法·leetcode
lcj25114 小时前
【C++】set和map——详细使用说明
开发语言·c++·笔记·面试