这听起来可能很愚蠢,但我想了一下想知道,你不能玩弄算法并使 O(n) 内存看起来像 O(1) 吗?
(Java) 假设您有一个包含 N 个真或假元素的数组。然后该数组将导致 O(n) 内存。
但是,如果我们有一个“FFFFFFTFTFFT”数组,其中每个 charAt(i) 都回答数组的第 i 个索引的结果,那么我们是不是只使用了 O(1) 内存,或者它被认为是 O(n ) 内存,因为 String 是 O(n) 本身的大小?
让我们更进一步。如果我们有一个包含真假的 N 数组并将其转换为字节,我们使用的内存甚至更少。那么字节也被认为是 O(1) 内存还是 O(n) 内存?例如,假设 n = 6。那么数组大小为 6 = O(n)。但是字节大小只有 1 个字节,因为 1 个字节可以存储 8 个不同的值(8 位)。那么这是 O(1) 还是 O(n) 因为对于大 N 我们得到以下情况...:N 等于 10000。数组是 O(n) 内存,但字节是什么内存?因为我们的字节是 O(n/8) = O(n)?
回首忆惘然
红糖糍粑
慕码人8056858
相关分类