码迷,mamicode.com
首页 > 其他好文 > 详细

互联网_大数据

时间:2014-08-22 12:47:16      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:style   使用   strong   数据   ar   算法   sp   on   

1,给定两个整数集合A和B,每个集合都包含20亿个不同整数,请给出快速计算A∩B的算法,算法可使用外存,但是要求占用内存不能超过4GB。

答:

基本思路:利用bitmap以及位运算来实现。

思考过程:整数最大为2的32次方-1;如果每位依次记录一个数,那么需要int的个数是(2的32次方-1)/32=1亿个。占用的内存大小为4byte*1亿=0.4G。不超过题目要求的4G.

因此,解决思路是:

1)申请两个[2的32次方-1]/32个int型的整数数组

2)依次扫描两个集合A和B,如果集合包含某一个整数,就将对应位置1

3)之后将两个用作标志位的两个整形数组做交运算

思考,如果是两个集合中都包含20亿个url呢,如何求出二者的交集(利用bloom过滤器)转换为一个查找操作?<具体实现?>

 

 

互联网_大数据,布布扣,bubuko.com

互联网_大数据

标签:style   使用   strong   数据   ar   算法   sp   on   

原文地址:http://www.cnblogs.com/bobodeboke/p/3929094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!