位图
Bit_map【用一个bit位来标记某个元素对应的value,而key就是该元素】
-
适用情况:大规模数据但是数据状态又不是很多的情况;通常是用来判断某个数据存不存在的。(索引和数据压缩)
比如:查找100亿个数据里面是否存在某个特定数据;就算使用二分查找等高效的查找算法,但是内存根本无法实现全部存放这么多数据;所以解题点不在查找算法效率上,而是数据的存放。
因为bit位状态只有0和1,所以位图就是一种直接定址法的哈希,只不过位图只能表示这个值在还是不在。
四个字节本来只能存储1个int,而使用位图我们现在就可以映射32个数字。
判断数组中的元素是否重复:遍历数组,一个一个地放进bitmap,判断如果为图中存在这个数,就不放了,不存在就放进去。 -
位图的缺点:
可读性差
存储元素的个数比一般元素要多但是存储元素大小受空间大小控制。