海量数据处理算法—bit-map

海量数据处理算法—bit-map

ID:33928603

大小:563.79 KB

页数:10页

时间:2019-02-28

海量数据处理算法—bit-map_第1页
海量数据处理算法—bit-map_第2页
海量数据处理算法—bit-map_第3页
海量数据处理算法—bit-map_第4页
海量数据处理算法—bit-map_第5页
资源描述:

《海量数据处理算法—bit-map》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处海量数据处理算法—Bit-Map1.BitMap算法简介来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。2、BitMap的基本思想我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byt

2、e的空间,将这些空间的所有Bit位都置为0,如下图:然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作p+(i/8)

3、(0x01<<(i%8))当然了这里的操作涉及到Big-ending和Little-ending的情况,这里默认为Big-ending),因为是从零开始的,所以要把第五位置为一(如下图):然后再处理第二个元素7,将第八位置为1,,接着再处理第三个元素,一直到最后处理完所本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注

4、明出处有的元素,将相应的位置为1,这时候的内存的Bit位的状态如下:然后我们现在遍历一遍Bit区域,将该位是一的位的编号输出(2,3,4,5,7),这样就达到了排序的目的。优点:1.运算效率高,不许进行比较和移位;2.占用内存少,比如N=10000000;只需占用内存为N/8=1250000Byte=1.25M。缺点:所有的数据不能重复。即不可对重复的数据进行排序和查找。算法思想比较简单,但关键是如何确定十进制的数映射到二进制bit位的map图。3、Map映射表假设需要排序或者查找的总数N=10000000,那么我们需要申请内存空间的大小为inta[1+N/32],其中:a[0]在内存中

5、占32为可以对应十进制数0-31,依次类推:bitmap表为:a[0]--------->0-31a[1]--------->32-63a[2]--------->64-95a[3]--------->96-127本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处..........那么十进制数如何转换为对应的bit位,下面介绍用位移将十进制数转换为对应的bit位。3、位移转换申请一个int一维数组,那么可以当作为列为32位的二维数组,

6、32位

7、inta[

8、0]

9、0000000000000000000000000000000000000

10、inta[1]

11、0000000000000000000000000000000000000

12、………………inta[N]

13、0000000000000000000000000000000000000

14、例如十进制0,对应在a[0]所占的bit为中的第一位:000000000000000000000000000000010-31:对应在a[0]中i=000000000000000000000000000000000temp=000000000000000000000000000000000answer=100000

15、000000000000000000000000001i=100000000000000000000000000000001temp=100000000000000000000000000000001answer=200000000000000000000000000000010i=200000000000000000000000000000010temp=200000000000000000000000000000010answer=400000000000000000000000000000100本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明

16、出处本文由西安白癜风专科医院http://www.xapfb120.com/收集,转载请注明出处i=3000000000000000000000000000011110temp=3000000000000000000000000000011110answer=107374182401000000000000000000000000000000i=3100000000000000000000000000011111temp=31000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。