面对大数据的处理(bitmap)
来源:互联网 发布:java trim函数 编辑:程序博客网 时间:2024/06/04 20:50
随着大数据的时代来临,越来越多的数据的等待着我们去管理,而越来越多的数据的管理也就意味着消耗大量的资源,
为了让我们的数据占有更小的空间。我们必须引用一个叫“位”的东西去处理。
比如:
举个例子,我们要实现:
给定100亿个整数,设计算法找到只出现一次的整数
我们可以使用hash将所有整数映射到1000个文件中,在每个文件中使用 bitmap(位表示),用两个bit表示出现次数,00表示没出现过,01表示出现过1次,10表示出现过多次,11舍弃,最后归并每个文件中出现只有1次的数即为所求。我们称这种方法为“哈希分桶法”。
我们就设计一个简单的“位图(bitmap)”
#include<iostream>
using namespace std;
class BitMap{public: BitMap(){ bitmap = NULL; size = 0; } BitMap(int size){ // contractor, init the bitmap bitmap = NULL; bitmap = new char[size]; if (bitmap == NULL) { printf("ErroR In BitMap Constractor!\n"); }else{ memset(bitmap, 0x0, size * sizeof(char)); this->size = size; } } /*将该位设置成1; * set the index bit to 1; */ int bitmapSet(int index){ int addr = index/8; int addroffset = index%8; unsigned char temp = 0x1 << addroffset; if (addr > (size+1)) { return 0; }else{ bitmap[addr] |= temp; return 1; } } /* * return if the index in bitmap is 1; */ int bitmapGet(int index){ int addr = index/8; int addroffset = index%8; unsigned char temp = 0x1 << addroffset; if (addr > (size + 1)) { return 0; }else{ return (bitmap[addr] & temp) > 0 ? 1 : 0; } } /* * del the index from 1 to 0 */ int bitmapDel(int index){ if (bitmapGet(index) == 0) { return 0; } int addr = index/8; int addroffset = index%8; unsigned char temp = 0x1 << addroffset; if (addr > (size + 1)) { return 0; }else{ bitmap[addr] ^= temp; return 1; } }private: char *bitmap; int size;}
0 0
- 面对大数据的处理(bitmap)
- Bitmap 处理 之加载大的Bitmap
- 面对大数据,开启新的思维
- 大数据下的Distinct Count(二):Bitmap篇
- 大数据中2Bitmap的思想
- 大数据的处理
- 大数据的处理
- 大数据的处理
- bitmap处理海量数据
- 大数据的处理(Sqlserver2008)
- 观点:面对大数据,你可以害怕
- 数据库使用经验---面对大数据背景
- 面对需求的处理态度
- No.14 【大数据算法】BitMap的原理和实现
- 大数据的处理总结
- 数据库大数据的处理
- 大数据的处理方法
- JDBC 大数据的处理
- LeetCode #116 - Populating Next Right Pointers in Each Node - Medium
- (简单递归)HDU2048神、上帝以及老天爷
- Android 点击Button获取验证码倒计时效果
- AdMob(app内嵌广告)iOS 9 注意事项
- 卷积神经网络CNNs的理解与体会
- 面对大数据的处理(bitmap)
- 使用字符函数对GPRS数据进行分割
- 怎样更有力气
- groovy中多行sql书写
- 类型转换装箱和拆箱导致的空指针异常
- AdMob(app内嵌广告)横幅广告
- 顺序表实现栈的基本操作
- 《丁小柒的JavaScript大神之路》----javascript历史
- MTU & MSS 详解记录