• pytho代码分析示例


    a = 5
    b = 6
    c = 10
    for i in range(n):
      for j in range(n):
        x = i * j
        y = j * j
        z = i * j
    for k in range(n):
      w = a * k + 45
      v = b * b
    d = 33
    

    分析如下

    赋值操作的数量是4项之和:T(n)=3+3n^2+2n+1.
    第1项是常数3,对应起始部分的3条赋值语句
    第2项是3n^2,因为有3条语句要在嵌套循环中重复n^2次
    第3项是2n,因为两条语句要循环n遍,
    第4项是常数1,代表最后那条赋值语句
    T(n)=3+3n^2+2n+1=3n^2+2n+4
    很容易看出来,n^2起主导作用,所以这段代码的时间复杂度是O(n^2)。当n变大时,其他项以及主导项的系数都可以忽略
    
  • 相关阅读:
    Java语言
    Java面向对象编程思想
    final关键字
    abstract关键字
    对象初始化过程
    访问修饰符
    继承
    面向对象设计
    static
    封装
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/16562978.html
Copyright © 2020-2023  润新知