大数据和空间限制
文章平均质量分 78
菜鸟闯天下zxl
这个作者很懒,什么都没留下…
展开
-
只用2GB内存在20亿个整数中找到出现次数最多的数
只用2GB内存在20亿个整数中找到出现次数最多的数原创 2015-09-30 13:45:06 · 2300 阅读 · 8 评论 -
40亿个非负整数中找到没出现的数
40亿个非负整数中找到没出现的数【题目】 32位无符号整数的范围是0 - 4294967295,现在有一个正好包含40亿个无符号整数的文件,所以在整个范围中必然有没出现过的数。可以使用最多1GB的内存,怎么找到所有没出现过的数?【解答】 对于原问题,如果使用哈希表来保存出现过的数,那么最坏情况下是40亿个数都不相同,那么哈希表则需要保存40亿条数据,一个32位整数需要4B,那么原创 2015-09-29 16:55:14 · 3799 阅读 · 2 评论 -
布隆过滤器(Bloom Filter)基础知识
布隆过滤器(Bloom Filter)基础知识 布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在网页黑名单系统、垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集合中,但是布隆过滤器只需要哈希原创 2015-09-29 13:51:49 · 776 阅读 · 0 评论 -
40亿个非负整数中找到出现两次的数和所有数的中位数
40亿个非负整数中找到出现两次的数和所有数的中位数【题目】 32位无符号整数的范围是0-4294967295,现在有40亿个无符号整数,可以使用的最大内存是1GB,找出所有出现了两次的数。【解答】 对于在很多整数中找出现次数的题,一般是使用哈希表对出现的每一个数做词频统计的。但是这个题只需要找出现2次的整数,如果还使用哈希表 key表示出现的数,value表示出现的数的次数,那原创 2015-09-30 20:00:11 · 1405 阅读 · 0 评论