简单计算空间复杂度

        所谓的空间就是变量占用内存的大小。然而现在的内存空间已经很大了,其实没有必要在意。在这里还是写出计算方法的,S(n)=定义变量的个数。

        以下定义了两个变量,所以空间复杂度就是S(2)。

int main(){
    int n ;
    int w ;
    return 0;

}

        要掌握空间复杂度,其实如果你能够计算出递归的空间复杂度就可以说基本掌握了。

int sum(int n){
    int m;
    int w;
    n--;
    if(n<m){
        return n;
    }else{
        return sum(n);      
    }
    return 0;
}

        以上我们定义了变量n ,m,w为三个变量。随后当n<m时,调用递归在此定义三个变量。虽然都是同样的变量但是还是占用了空间。递归调用在执行完成后会释放内存,所以一共定义了n-m次三个变量,也就是3*(n-m)个变量。即3n-3m当n远远大于m是可以忽略掉m,即S(n)。

        总结:空间复杂度就是定义变量的个数,通常针对于大量的内存而已这个是不用考虑的。

        如果有错的地方还希望大佬们指点指点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值