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

相关推荐
雨落倾城夏未凉25 分钟前
8.被free回收的内存是立即返还给操作系统吗?为什么?
c++·后端
雨落倾城夏未凉29 分钟前
6.new和malloc的区别
c++·后端
郝学胜-神的一滴32 分钟前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
INS_KF1 小时前
【C++知识杂记2】free和delete区别
c++·笔记·学习
一只鱼^_2 小时前
牛客周赛 Round 105
数据结构·c++·算法·均值算法·逻辑回归·动态规划·启发式算法
ikkkkkkkl2 小时前
C++设计模式:面向对象设计原则
c++·设计模式·面向对象
啊阿狸不会拉杆2 小时前
《算法导论》第 27 章 - 多线程算法
java·jvm·c++·算法·图论
重启的码农2 小时前
ggml介绍 (8) 图分配器 (ggml_gallocr)
c++·人工智能·神经网络
重启的码农2 小时前
ggml介绍 (9) 后端调度器 (ggml_backend_sched)
c++·人工智能·神经网络
汉汉汉汉汉4 小时前
C++11新特性详解:从列表初始化到线程库
c++