bit-map
来源:互联网 发布:如何提高软件质量 编辑:程序博客网 时间:2024/05/16 12:26
1,所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。
【适用范围】
可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下
【基本原理及要点】
使用bit数组来表示某些元素是否存在,比如8位电话号码
【扩展】
Bloom filter可以看做是对bit-map的扩展
【问题实例】
1)已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。
8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。 (可以理解为从0-99 999 999的数字,每个数字对应一个Bit位,所以只需要99M个Bit==12.4MBytes,这样,就用了小小的12.4M左右的内存表示了所有的8位数的电话)
2)2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。
将bit-map扩展一下,用2bit表示一个数即可,0表示未出现,1表示出现一次,2表示出现2次及以上,在遍历这些数的时候,如果对应位置的值是0,则将其置为1;如果是1,将其置为2;如果是2,则保持不变。或者我们不用2bit来进行表示,我们用两个bit-map即可模拟实现这个2bit-map,都是一样的道理。
- Bit-map
- bit-map
- Bit Map
- Bit-map
- Bit-Map
- bit map bits
- Bit-map(1)
- Bit-map(转载)
- Bit-map(位图)
- Bit-map详解
- Bit-map java实现
- Bit-map算法分析
- 什么是bit—map
- bit-map海量数据处理
- Bit Map解析
- Bit-Map算法
- bit-map 算法
- bit-map 算法
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例(/转)
- 计时(1)
- 用Java实现类似QQ弹出的ToolTip框的功能
- linux命令ln
- Ubuntu: PPA
- bit-map
- osg 学习之十六:osgconv工具(android支持的纹理格式)
- 又见一帘幽梦
- 1. 基于IntelVt技术的Linux内核调试器- 引言与IntelVT-x 技术简介
- openssl安装配置
- POJ 3834 Graph Game 博弈 dfs+并查集剪枝
- 用C与脚本的混合编程来处理配置文件
- bash 脚本编程二十 GlassFishV3自动部署
- Core Data 编程指南