python递归算法的时间复杂度分析_一、时间复杂度和空间复杂度分析


一、时间复杂度和空间复杂度分析

1、时间复杂度

(1)、如何理解时间复杂度的表示法

如何理解算法时间复杂度的表示法,例如 O(n²)、O(n)、O(1)、O(nlogn) 等?​www.zhihu.com

(2)、时间复杂度的分类

时间复杂度表达,经常用Big O notation来代表 (只看最高复杂度的运算)

  • O(1) : constant complexity 常数复杂度 [时间复杂度为常数/O(1)的时间复杂度]
  • O (log n): logarithmic complexity 对数复杂度 [O (log n)时间复杂度]
  • O(n): linear complexity 线性时间复杂度
  • O(n^3): N cubic complexity 立方
  • O(n^2): N square complexity 平方
  • O(2^n): exponential growth 指数
  • O(n!): factorial 阶乘

前面的常数系数是不考虑的,比如O(1)并不代表他的复杂度就一定是1,也有可能是2,3,...

(3)、时间复杂度

直接看这段代码,根据n的不同情况它会运行多少次

O(1):    
      int n=1000;
      System.out.printfIn("Hey: "+n);

      int n=1000;
      System.out.printfIn("He
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值