定义
Space Complexity(空间复杂度) 对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))
公式
S(n)=O(f(n)) 渐进空间复杂度
名词解释
n :变量参数,代表输入得规模,也可理解为该算法实现的业务问题的规模
f(n) :f(n)为语句关于n所占存储空间的函数
空间复杂度推导原则
- 如果算法执行所需要的临时空间不随着某个变量n的大小而变化,即此算法空间复杂度为一个常量,可表示为 O(1)
- 递归算法的空间复杂度=递归深度N*每次递归所要的辅助空间
- 对于单线程来说,递归有运行时堆栈,求的是递归最深的那一次压栈所耗费的空间的个数,因为递归最深的那一次所耗费的空间足以容纳它所有递归过程。
- 一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小:形参、局部变量
常见空间复杂度
- O(1)
- O(n)
- O(n2)
Example
- O(1)
public void