【发布时间】:2018-08-28 11:55:57
【问题描述】:
这是我的算法书中给出的代码。我们需要计算它的空间复杂度。
这是给出的答案-
空间复杂度是S=C+Sp,在这种情况下Sp为零,因为代码独立于n。
但我想计算代码的 C 部分,在这种情况下,考虑到 a,x,n,0 and -1.,它将是 5*2bytes=10 bytes
所以我的问题是,如果 a 是 2d 矩阵,C 将是什么,我们是否将其视为 2 bytes 仅在 1d 数组的情况下,还是将其视为 4 个字节?
【问题讨论】:
-
0 是一个不太常见的答案,我会说 O(1)。
-
这不是渐近符号
-
首先,它是渐近符号(传说中的 Big-O)。其次,我认为您不必使用 4 个字节,因为只有在您从 32 位系统切换到 64 位系统时才会改变。
-
@NitinPawar 我们使用二维数组所需的空间是一维数组的两倍还是相同?
-
没关系。常数因素与渐近复杂度无关 - 1 位和 1 TB 会给您相同的答案。
标签: arrays algorithm asymptotic-complexity