• 1.时间复杂度与空间复杂度分析


    1.时间复杂度分析

      时间复杂度通常用大O表示法,所有代码的执行时间 T(n) 与每行代码的执行次数 n 成正比,即

      

     它表示代码执行时间随数据规模增长的变化趋势,也叫渐进时间复杂度,简称时间复杂度。

     常见时间复杂度量级有O(1),O(log(n)),O(n),O(nlog(n)),O(n2),O(n3),O(2n),O(n!),其中O(2n),O(n!)为非多项式量级,剩余的为多项式量级。

     时间复杂度分析法则:

      a.只关注循环次数最多的那一段代码

      b.总复杂度等于量级最大的那段代码的时间复杂度

      c.嵌套代码的复杂度等于嵌套内外代码复杂度的乘积

     时间复杂度有最好时间复杂度,最差时间复杂度,平均时间复杂度,均摊时间复杂度,一般用平均时间复杂度来考量。

    2.空间复杂度分析

      类比时间复杂度,空间复杂度全称渐进空间复杂度,表示空间随数据规模的增长的变化趋势。

      常见空间复杂度有O(1),O(n), O(n2)

      注意点:空间复杂度指的是操作数据时额外申请的空间,比如一个栈存储了n个数据,但是栈的空间复杂度为O(1),因为进栈出栈时都只操作栈顶元素,只需申请一个临时变量。

     

  • 相关阅读:
    架构笔记七
    架构笔记六
    架构笔记五
    架构笔记四
    python2与python3的区别
    萌新VRTK学习(四)攀爬系统
    萌新VRTK学习(三)物体的抓取
    萌新VRTK学习(二)移动
    萌新VRTK学习(一)VRTK的配置
    C#委托事件随笔
  • 原文地址:https://www.cnblogs.com/quxiangxiangtiange/p/11930274.html
Copyright © 2020-2023  润新知