定义
位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。
通常是用来判断某个数据存不存在的。
例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int数组,一个int有32个位,就可以表示32个人。操作的时候可以使用位操作。
位图实现
unsigned int bit[N];
在这个数组里面,可以存储 N * sizeof(int) * 8个数据,但是最大的数只能是N * sizeof(int) * 8 - 1。假如,我们要存储的数据范围为0-15,则我们只需要使得N=1,这样就可以把数据存进去。如下图:
数据为【5,1,7,15,0,4,6,10】,则存入这个结构中的情况为:

位图法是一种用于大规模数据存储和检索的技术,尤其适用于判断数据存不存在的情况。通过位操作,位图可以高效地表示和处理数据,但在存储元素大小受限于内存空间,并且可读性较差。常见应用包括找唯一整数、求文件交集和限制出现次数的整数。位图在处理大数据时提供了一种空间效率高的解决方案,但须注意其局限性。
最低0.47元/天 解锁文章
598

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



