有关算法的时间复杂度与空间复杂度
1.算法的时间复杂度
指事先预估算法的时间开销T(n)和问题规模n的关系.
数据结构学习day1
2.算法的空间复杂度
数据结构学习day1
3.对于空间复杂度,有几种情况:
一是代码中只有一般的顺序语句,那么占用的内存空间则是常数个,与问题规模n无关,空间复杂度就是O(1).
二是代码中有一些特别的储存结构,如数组int[n],那么空间复杂度就为4n+k,空间复杂度就是O(n)了.或者定义二位数组时空间复杂度可能就是O(nn)了.
三是递归也是会影响到空间复杂度的:
举一个简单地代码
数据结构学习day1
这里的空间复杂度就为kn(每层都声明一次a,b,c,n等,共需进行n次),所以复杂度为O(n).
当递归中含有数组等类型时
数据结构学习day1
由于数组长度和问题规模相等,那么每次调用时开辟的空间也不同,空间复杂度为1+2+3+…+n=n(n+1)/2=O(n
n).

相关文章:

  • 2021-10-17
  • 2021-07-26
  • 2022-12-23
  • 2021-06-07
  • 2021-09-19
  • 2021-09-03
  • 2021-09-20
  • 2021-11-02
猜你喜欢
  • 2021-05-24
  • 2022-01-09
  • 2021-10-14
  • 2021-09-25
  • 2021-05-09
  • 2021-07-11
  • 2021-07-08
相关资源
相似解决方案