空间复杂度计算

前置芝士

\(KB\) 与 \(Kb\) 的区别

\(KB = KByte\) ,其中 \(K\) 表示 \(kilo\) 是一千的意思, \(Byte\) 表示字节
\(Kb = Kbit\) ,中 \(k\) 同上, \(bit\) 是比特的意思

\(KiB\) 与 \(Kb\) 的区别

\(KiB\) 的为 \(1024Byte\)
\(KB\) 的为 \(1000Byte\)

进制

\(1GiB = 1024MiB = 1024 \cdot 1024 \cdot KiB = 1024 \cdot 1024 \cdot 1024 \cdot Byte = 8 \cdot 1024 \cdot 1024 \cdot 1024 \cdot bit\)

每个数据类型所占内存大小

\(char\) 为 \(8\) 位(\(8\) 个 \(bit\)), \(1\) 字节(\(1\) 个 \(Byte\))
\(short\) 为 \(16\) 位(\(16\) 个 \(bit\)), \(2\) 字节(\(2\) 个 \(Byte\))
\(int\) 为 \(32\) 位(\(32\) 个 \(bit\)), \(4\) 字节(\(4\) 个 \(Byte\))
\(long long\) 为 \(64\) 位(\(64\) 个 \(bit\)), \(8\) 字节(\(8\) 个 \(Byte\))
\(float\) 为 \(32\) 位(\(32\) 个 \(bit\)), \(4\) 字节(\(4\) 个 \(Byte\))
\(double\) 为 \(64\) 位(\(64\) 个 \(bit\)), \(8\) 字节(\(8\) 个 \(Byte\))
\(bool\) 为 \(8\) 位(\(8\) 个 \(bit\)), \(1\) 字节(\(1\) 个 \(Byte\))

空间复杂度计算

若 内存为 \(x\) MiB, 所用数据类型所占字节个数为 \(y\)
则可以开的数组的最大长度为 \(x * 1024 * 1024 / y\)

posted @ 2023-07-17 21:45  觉清风  阅读(58)  评论(0)    收藏  举报