简述
是对算法一个大概的描述
就是随着数据量的变化,算法速度会产生一种怎么样的变化
常见的大O表示形式
符号 | 名称 (排序按效率从高往下) |
---|---|
O(1) | 常数的 |
O(log(n)) | 对数的 |
O(n) | 线性的 |
O(nlog(n)) | 线性和对数乘积 |
O(n2) | 平方 |
O(2n) | 指数的 |
推导大O表示法的方式
- 用常量1取代运行时间中所有的加法常量
- 如果计算出来一直是同一数值 就用1代替 例如 如果一直是 33 就用O(1)表示
- 在修改后的运行次数函数中,只保留最高阶项
- 如果最高存在且不为1,则去除与这个项相乘的常熟