快排时间复杂度_计算复杂度理论——空间复杂度

马东什么:计算复杂度理论——时间复杂度​zhuanlan.zhihu.com

之前介绍了时间复杂度,终于腾出时间刷空间复杂度了;

和时间复杂度一样,常见的空间复杂度的度量也包括了:

https://www.bigocheatsheet.com/​www.bigocheatsheet.com

找到了一个很好的总结

99ebbe3b738431de658355d7904b984b.png

6730b1dec11222d46123ff38c86b83ef.png

整体概念和时间复杂度类似,一般来说,在leetcode的题目中,都是通过额外空间的使用的大小来进行衡量的;

空间复杂度O(1)

j=0
for i in range(n):
     j+=1

无论n的大小如何变化都没有开辟新的内存空间来存放;

空间复杂度o(n)

j=[]
for i in range(n):
     j.append(i)

可以看到,内存空间随着n的增大而线性增长

(注意,这里仅仅是为了说明而用python写的例子,实际上python的list的内存空间增长是指数的。。。。具体可见python list的内存占用变化的相关文章分析这里暂时不写那么多了)

空间复杂度o(n^2)

j=[]
for i in range(n):
     for k in range(n):
         j.append(k)

空间复杂度O(n^k) 类似的道理了。。

空间复杂度 O(logn)

快速排序---(面试碰到过好几次)_nrsc-CSDN博客_快速排序​blog.csdn.net
d52cfd097acb4299a35cfee2e8d8117d.png

快排涉及到需要定义中间变量,这个中间变量的空间复杂度为O(logn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值