当前位置:   article > 正文

波奇学数据结构:时间复杂度和空间复杂度

波奇学数据结构:时间复杂度和空间复杂度

数据结构:计算机存储,组织数据方式。数据之间存在多种特定关系。

时间复杂度:程序基本操作(循环等)执行的次数

大O渐进法表示法

用最高阶的项来表示,且常数变为1。

F(n)=3*n^2+2n+1//F(n)为次数函数,时间复杂度O(n^2)

O(n^2)表示最大量级是n^2,不代表函数循环的次数是n^2。

循环次数确定时,时间复杂度记为O(1)

不确定情况

O(M+N)

M远大于N,O(M)N远大于M,O(N)M,N相等,O(M)或O(N)

当算法复杂度存在最好,最坏,平均情况时(最好:最小次数,最坏:最大次数,平均:期望运行次数),选择最坏作为时间复杂度。

二分查找:O(logN)

最好:O(1),最坏:O(logN)

  1. 第一次:n
  2. 第二次:n/2
  3. ...
  4. 第k次:1
  5. 1*2^k=n
  6. k=log2(n)//一2为底n的对数

斐波那契数列:O(2^n)

尽管会有提前结束,但忽略不计。

空间复杂度:计算临时占用存储空间大小量度

不算函数参数,计算新开辟的空间

例1:空间复杂度O(N)

例2:O(1)不算函数传进来的数组,开辟常数个变量

例3:O(N)

n加1个函数栈帧,每个栈帧是O(1)

例4:空间复杂度O(N)

如下图:函数调用是先调用完左边的再开始调用右边,最大的空间就是从Fib(N)到Fib(2),后面调用就是重复使用空间。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/623012
推荐阅读
相关标签
  

闽ICP备14008679号