1. Bitmap 的定义与核心特性
1.1 技术定义
Bitmap(位图,又称位掩码、位向量)是一种基于二进制位(bit)的紧凑数据结构,用每一位表示一个元素的二元状态(如存在 / 不存在、可用 / 已用、真 / 假)。其核心优势是空间效率极高,N 个元素仅需 ceil(N/8) 字节(每个字节含 8 位)。
1.2 核心特性
- 空间效率:100 万个元素仅需约 125KB(100 万 / 8=125000 字节),比数组(每个元素占 4 字节需 4MB)节省 97% 空间。
- 快速查询:通过位运算(如移位、按位与)可在 O (1) 时间内查询任意位的状态。
- 批量操作:支持按位的批量设置、清除、翻转(如用
0b1010一次操作第 1 和第 3 位)。 - 局限性:仅适用于二元状态场景,不支持存储复杂数据;当 N 极大时(如 10 亿位),需分段管理。
2. Bitmap 的数据结构与实现原理
2.1 基础数据结构
Bitmap 本质是一个连续的二进制数组,通常用无符号整数数组(如unsigned char[]、unsigned long[])存储,每个元素对应若干位。
- 示例:用
unsigned c

订阅专栏 解锁全文

3260

被折叠的 条评论
为什么被折叠?



