zoukankan      html  css  js  c++  java
  • 程序优劣之时间复杂度

    评判程序优劣的方法:

    - 消耗计算机资源和执行效率

    - 计算算法执行的耗时

    - 时间复杂度

    时间复杂度

    - 评判规则:量化算法执行的操作/执行步骤的数量

    - 最重要的项:时间复杂度表达式中最有意义的项

    - 大O记法对时间复杂度进行表示:O(量化表达式中最有意义的项)

    def sumOfN(n):
        theSum = 0
        for i in range(1,n+1):
            theSum = theSum + i
    
        return theSum
    
    print(sumOfN(10))
    
    #1+n+1 = n+2  ==》O(n)

    案例:计算下列算法的时间复杂度

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

    常见的时间复杂度:

    常见的时间复杂度:

    • O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
  • 相关阅读:
    正则表达式知识
    网页边上的弹窗
    表格的搜索
    表格的删除与添加
    添加标签和删除标签
    延迟提示框
    js知识
    反射的应用
    java反射知识
    事务的特性和隔离级别
  • 原文地址:https://www.cnblogs.com/blackball9/p/11888984.html
Copyright © 2011-2022 走看看