时间复杂度的计算问题汇总

写在前面,引用《大话数据结构》——“理解大O并不难,难的是对数列的一些相关运算,这更多的考察的是你的数学知识和能力。”

算法的时间复杂度:用来度量算法的运行时间,记作: T (n) = O (f (n))。 它表示随着 输入大小n 的增大,算法执行需要的时间的增长速度可以用 f (n) 来描述。

复杂度的大小

O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

口诀:常对幂指阶
复杂度越小,则说明你的代码越好

时间复杂度简单来说就是估算指令执行了多少次。

method1(){
   
    System.out.println("祝你看了这篇文章"); //执行1次
    System.out.println("诸事顺利"); //执行1次
    System.out.println("万事如意"); //执行1次
}
// 1+1+1 = 3
method2(){
   
    for(int i=0;i<5;i++){
    //i=0 执行1次;i<5 判断5+1次,等于5时判断后退出;i++ 执行5次
        System.out.println("好运连连"); //执行5次
    }
}  //1+(5+1)+5+5 = 17
method3(int n){
   
    for(int i=0;i<n;i++){
    //i=0 执行1次;i<n 执行n+1次;i++ 执行n次
        System.out.println("好运连连"); //执行n次,你会有n次好运哦
    }
} //1+(n+1)+n+n = 3n+2
method4(
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值