空间复杂度计算

前置芝士

\(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  觉清风  阅读(13)  评论(0编辑  收藏  举报