千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:大连千锋IT培训  >  技术干货  >  算法评测标准---空间复杂度是什么?

算法评测标准---空间复杂度是什么?

来源:千锋教育
发布人:bjq
时间: 2023-03-23 20:15:04

  算法评测标准---空间复杂度是什么?一. 空间复杂度的概念

空间复杂度是什么

  空间复杂度(Space Complexity),是对一个算法在运行过程中临时占用存储空间大小的量度。值得注意的是,时间复杂度不是用来计算程序具体耗时的,空间复杂度也不是用来计算程序所占的具体内存大小,它们都只是一个量度而已。

  二. 常见的空间复杂度

  常数阶O(1)

  int sum = 0;

  for(int i=0;i<n;i++){< p="">

  sum=sum+i;

  }

  此例中,不管n变得多大,都只有2个变量占用内存,内存的占用是一个常数,记住O(1)即可。

  O(n)

  int sum = 0;

  for(int i=0;i<n;i++){< p="">

  sum=sum+i;

  int m = sum;

  }

  我们注意看此案例中,在for循坏中,变量m一共被声明了n次,再加上sum与i的声明,一共分配的内存有n+2次。其中,2可以忽略,所以算法的空间复杂度为O(n)

  O(Log2N)

  另一个常见的空间复杂度是O(Log2N),我们来看看下面这段代码,它的空间复杂度就是O(Log2N),大家自己考虑一下是不是这样?

  int sum = 0;

  for(int i=0;i<n;i++){< p="">

  sum=sum+i;

  int m = sum;

  i= 2*i;

  }

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

什么是对Event loop的了解?

2023-04-07

什么是Java循环?

2023-03-30

switch语句的case和default有顺序吗?

2023-03-30

最新文章NEW

说一说load和ready区别?

2023-04-07

10分钟学会阿里OSS对象存储

2023-03-07

没有弹性盒,如何玩转移动端?

2023-02-13

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>