空间复杂度计算

空间复杂度

记录一下以免忘记
空间复杂度指运行完一个程序所需的内存空间,有时可以用空间来换取时间。
算法空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度计算的公式记作:S(n)=O(f(n)),其中n为问题规模,f(n)为语句关于n所占储存空间的函数。
当一个算法的空间复杂度是常量时,即不随处理数据n变化而变化时可记为O(1),空间复杂度的计算与时间复杂度计算大体相同。

 int i = 0;
 int j = 0 ;
  //...后面即使在有10个变量20个,只要内存不随n而改变就可记作O(1)
for(int i = 0;i<n;i++){
int j = 0;
}

这段代码中创建了n个j变量所以空间复杂度为S(n) = O(n)。

for(int i = 0 ; i <n; i ++){
	for(int j = i ; j< n ; j++){
		int k = 0;
	}
}

一共要创建(n+1)*n/2个变量保留最高项的出空间复杂度S(n)=O(n²)。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值