算法评测标准---空间复杂度是什么?
算法评测标准---空间复杂度是什么?一. 空间复杂度的概念
空间复杂度(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;
}
相关推荐HOT
更多>>算法评测标准---空间复杂度是什么?
算法评测标准---空间复杂度是什么?空间复杂度是什么?一. 空间复杂度的概念,复杂度(Space Complexity),是对一个算法在运行过程中临时占用存...详情>>
2023-03-23 20:15:04怎么用css画三角形?
怎么用css画三角形?border这里的像素值 和 border-left这里的像素值可以是不一样的,也可以是一样的,根据三角形的形状来进行具体设置值即可,要...详情>>
2023-03-23 15:27:16Maven集成 tomcat插件及使用教程
在实际的项目开发中,特别是分布式项目,往往有N多个子项目需要同时启动测试。这样多个项目引用tomcat插件,配置不同的端口,就可以同时启动N个...详情>>
2023-02-23 14:44:00扫盲CSS中常见的单位
Px是pixel的简写, 被称之为像素单位, px可以在计算机屏幕上,能达到预期的效果,在打印机和其它的高分辨率设备上,它又能取得所希望的效果, 一...详情>>
2023-02-16 13:47:00热门推荐
vue打包内存过大,怎么使用webpack来进行优化?
沸说一说hash和histoty的原理?
热说一说load和ready区别?
热什么是对Event loop的了解?
新单例模式是什么?
什么是servlet接口及应用?
如何配置Java环境变量?有方法吗?
java变量的作用域是什么?
什么是Java循环?
switch语句的case和default有顺序吗?
SpringBoot中使用redis 新手入门
vue的watch和computed的区别以及特点是什么?
算法评测标准---空间复杂度是什么?
Spring整合Junit框架是什么?