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))
额外的空间(当然,如果结果与输入不共享空间)。