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

相关推荐
小欣加油7 分钟前
leetcode3633 最早完成陆地和水上游乐设施的时间I
数据结构·c++·算法·leetcode
啦啦啦啦啦zzzz9 分钟前
数据结构:二叉排序树(递归与非递归函数的全部实现)
数据结构·c++·二叉排序树
£suPerpanda24 分钟前
AtCoder Beginner Contest 453
c++·算法
郝学胜-神的一滴40 分钟前
Qt 高级开发 022:栅格布局深度实战
开发语言·c++·qt·软件构建·用户界面
basketball61640 分钟前
设计模式入门:3. 装饰器模式详解 C++实现
c++·设计模式·装饰器模式
程序大视界1 小时前
【C++ 从基础到项目实战】C++(三):函数进阶——重载、回调、递归与默认参数
开发语言·c++·cpp
西梅汁1 小时前
C++ 线程间通信(二)
c++
minji...1 小时前
Linux 高级IO(七)多进程、多线程的Reactor反应堆模式扩展、OTOL
linux·运维·c++·多路转接·epoll·reactor反应堆模型
晚风吹红霞1 小时前
C++ list 容器完全指南:从入门到手撕双向链表
c++·链表·list
handler011 小时前
【Linux 网络】:poll/epoll 底层机制与 Reactor 并发模型
linux·运维·服务器·网络·c++·多路转接·多路复用