seyOrd

导航

时间复杂度

1) 定义

  时间复杂度分析是分析频度之和的量级

  符号

    T(n) 算法问题复杂度函数

    O(f(n))       算法的基本运算(最深处循环内语句)的频度

  数理基础

     算法的基本运算(最深处循环内语句)的频度与算法问题复杂度函数同数量级

2)计算

  T(n) = O(f(n))

  保留f(n)中增长速度最快的项,

  去掉上述保留向的系数,系数设为1

  如

    f(n)=   3n^2+2n

    T(n) =O(n^2)

  常见阶

    O(1)常数阶O(n)线性阶O(logn)对数阶O(n^2)平方阶

  规则

    T(n)=T(n1)+T(n2)= O(f(n1))+ O(f(n2))

    T(n)=T(n1)*T(n2)= O(f(n1))* O(f(n2))

 时间复杂度的计算例子

  递归调用

    直接加,没有循环套用的递归深度n次,时间复杂度就是n次、时间复杂度O(n)

  循环

    设置t时跳出循环,求出t的阶数就是时间复杂度,如O(n^2)

  

posted on 2020-04-18 15:44  seyOrd  阅读(186)  评论(0)    收藏  举报