Algorithm 带O(n^2)的空间复杂度

Algorithm 带O(n^2)的空间复杂度,algorithm,complexity-theory,space-complexity,Algorithm,Complexity Theory,Space Complexity,因此,每个人都熟悉常数O(1)或线性O(N)空间复杂度 但我有一个问题,当一个算法的空间复杂度与O(NLogn)或O(N^2)成正比时,是否有任何情况。如果可能的话,它的优势是什么 顺便说一句——我已经研究了很多网站,但没有得到任何令人满意的解决方案。几乎任何算法都可以使用O(N^2)内存。考虑一些 f(a,b)< /代码>其中 0 < a,b < n>代码>和 f>代码>计算是昂贵的。为了减少运行时间,一个明显的解决方案是使用具有预先计算结果的大小为N*N的查找表。在运行时和内存使用之间进行这

因此,每个人都熟悉常数
O(1)
或线性
O(N)
空间复杂度

但我有一个问题,当一个算法的空间复杂度与
O(NLogn)
O(N^2)
成正比时,是否有任何情况。如果可能的话,它的优势是什么


顺便说一句——我已经研究了很多网站,但没有得到任何令人满意的解决方案。

几乎任何算法都可以使用
O(N^2)
内存。考虑一些<代码> f(a,b)< /代码>其中<代码> 0 < a,b < n>代码>和<代码> f>代码>计算是昂贵的。为了减少运行时间,一个明显的解决方案是使用具有预先计算结果的大小为
N*N
的查找表。在运行时和内存使用之间进行这种权衡是很常见的


通常,使用矩阵的算法通常需要
N*N
内存来存储矩阵。例如,要在
N=3
维度中旋转一个点,可以使用
3x3
旋转矩阵。

您应该将此移动到讨论中。任何返回大小
f(N)
结果的算法都至少需要
O(f(N))
额外的空间(当然,如果结果与输入不共享空间)。