大O表示法(Big O)

一般用大O表示法来描述复杂度,它表示的是数据规模n对应的复杂度
忽略常数,系数,低阶
示例:
9 >> O(1)
2n+3 >> O(n)
n^2 + 2n + 6 >> O(n^2) 低阶的直接忽略
n^3 + 3n + 9 + 3 >> O(n^3)

对数阶的细节:
log2n=log29 * log9n  中间常数项被忽略

所以log2n,log9n统称为logn

在算法中如果发生
logn+nlogn则为
其实就是 logn + n 
O(nlogn)

总结:
执行次数                   复杂度                    非正式术语
   12                              O(1)                        常数阶
   2n+3                          O(n)                         线性阶
4n^2 + 2n + 6              O(n^2)                     平方阶
4log2n + 25                  O(logn)                   对数阶
3n+2nlog3n+15            O(nlogn)                   nlogn阶
4n3+3n2+22n+100    O(n^3)                   立方阶
2^n                               O(2^n)                     指数阶
补充:如果是方法形参两个 比如n和k
public static int Test(int n,int k) {
for (int i = 0; i < 5; i++) {
System.out.print();
}
for (int k = 0; k < 5; k++) {
System.out.print();
}
}
此时表示为:O(n+k)
大O表示法指令执行速度
快>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>慢
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
可以借助函数生成工具比较复杂度大小
https://zh.numberempire.com/graphingcalculator.php

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值