1:字符串 字符串是一组由数字,字符,下划线的一串字符,是特殊的一维数组。 2:字符串的应用 字符串移位包含问题: 例:给定两个字符串s1和s2,要求判断s2是否能被s1做循环移位得到字符串包含。例如,给定s1=ABCD 和s2=CDAA,返回true。给定s1=ABCD,和s2=ACBD,返回fa ...
分类:
编程语言 时间:
2016-11-10 18:49:14
阅读次数:
167
1)给一个超过100G大小的log file,log中存着IP地址,设计算法找到出现次数最多的IP地址?(与如何知道top K的IP,如何使用Linux系统命令实现) Hash分桶法: 将100G文件分成1000份,将每个IP地址映射到相应文件中:file_id = hash(ip) % 1000 ...
分类:
其他好文 时间:
2016-11-08 14:12:37
阅读次数:
145
布隆过滤器(Bloom Filter)详解 2012-07-13 18:35 by Haippy, 29358 阅读, 6 评论, 收藏, 编辑 布隆过滤器[1](Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列 ...
分类:
其他好文 时间:
2016-10-16 16:49:06
阅读次数:
214
Bloom Filter(布隆过滤器) 布隆过滤器用于测试某一元素是否存在于给定的集合中,是一种空间利用率很高的随机数据结构(probabilistic data structure),存在一定的误识别率(false positive),即布隆过滤器报告某一元素存在于某集合中,但是实际上该元素并不在 ...
分类:
其他好文 时间:
2016-09-22 08:48:40
阅读次数:
190
#pragmaonce
#include<string>
#include"BitMap.h"
structHashFunc1
{
size_tBKDRHash(constchar*str)
{
registersize_thash=0;
while(size_tch=(size_t)*str++)
{
hash=hash*131+ch;//也可以乘以31、131
returnhash;
}
}
size_toperator()(conststr..
分类:
其他好文 时间:
2016-08-26 23:08:38
阅读次数:
232
一、先谈哈希 1.1原理 Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。 其作用是将一个大的数据集映射到一个小的数据集上面(这些小的数据集叫做哈希值,或者散列值)。 1.2一个典型的hash函数示意图 1.3特点 如果两个散列值是不相同的(根据同一函数),那 ...
分类:
其他好文 时间:
2016-08-01 15:17:00
阅读次数:
132
布隆过滤器(BloomFilter)是由布隆(BurtonHowardBloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例F..
分类:
其他好文 时间:
2016-07-25 16:31:26
阅读次数:
239
首先,你得知道布隆过滤器是用来干嘛的。 然后,有个直观的感觉: [1]http://billmill.org/bloomfilter-tutorial/ 然后看看讲解: [2]: http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.htm ...
分类:
其他好文 时间:
2016-07-23 13:19:34
阅读次数:
136
可运用于 网页黑名单系统 垃圾邮件过滤系统 爬虫的网址判重系统等数据量很大的问题 --好的哈希函数能将很多输入均匀地分布在bit array上,将所有值%m,可以分布到0~m-1上。处理过程如上图所示,一个对象经过k个哈希函数处理后,得到k个值,根据这k个值将对应的bit做标记。处理完所有输入之后, ...
分类:
其他好文 时间:
2016-07-06 14:51:25
阅读次数:
116
什么是布隆过滤器布隆过滤器(BloomFilter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。实现思想如..
分类:
其他好文 时间:
2016-07-05 06:30:45
阅读次数:
142