算法
天天向上的金牛
这个作者很懒,什么都没留下…
展开
-
海量数据处理:十道面试题与十个海量数据处理方法总结
海量数据处理:十道面试题与十个海量数据处理方法总结 作者:July、youwang、yanxionglu。 时间:二零一一年三月二十六日 说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。 出处:http://blog.csdn.net/v_JULY_v。 -----------------------转载 2011-12-14 16:17:25 · 574 阅读 · 0 评论 -
simhash算法的原理
simhash算法的原理 第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差转载 2012-09-20 17:06:09 · 5045 阅读 · 0 评论 -
谷歌如何从网络的大海里捞到针
谷歌如何从网络的大海里捞到针 David Austin 关键词: 谷歌,搜索,随机矩阵,特征值 想象一个含有250亿份文件,却没有集中管理机构和馆员的图书馆,而且任何人都可以在任何时间添加新的文件而不需要通知其他人。一方面你可以确定,这庞大的文件堆中有一份文件含有对你至关重要的信息,而另一方面,你又像我们中的大多数人那样没有耐心,想要在几秒钟之内就找到这条信息。你有什转载 2012-09-17 18:55:08 · 9502 阅读 · 0 评论 -
MinHash算法
1.概述 跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度。MinHash由Andrei Broder提出,最初用于在搜索引擎中检测重复网页。它也可以应用于大规模聚类问题。 2.Jaccard index 在介绍MinHash之前,我们先介绍下Jaccard index。 Jaccard转载 2012-08-31 11:45:47 · 12342 阅读 · 0 评论 -
基于hash方法的相似计算
3 基于hash方法的相似计算 基于hash的相似度计算方法,是一种基于概率的高维度数据的维度削减的方法,主要用于大规模数据的压缩与实时或者快速的计算场景下,基于hash方法的相似度计算经常用于高维度大数据量的情况下,将利用原始信息不可存储与计算的问题转化为映射空间的可存储计算问题,在海量文本重复性判断方面,近似文本查询方面有比较多的应用,google的网页去重[1],goog转载 2012-08-31 11:44:55 · 8513 阅读 · 0 评论 -
SimHash算法
说到文本相似性计算,大家首先想到的应该是使用向量空间模型VSM(Vector Space Model)。使用VSM计算相似度,先对文本进行分词,然后建立文本向量,把相似度的计算转换成某种特征向量距离的计算,比如余弦角、欧式距离、Jaccard相似系数等。这种方法存在很大一个问题:需要对文本两两进行相似度比较,无法扩展到海量文本的处理。想想像Google这种全网搜索引擎,收录了上百亿的网页,爬虫每天转载 2012-08-31 11:46:41 · 12001 阅读 · 0 评论 -
Fast bit count问题(即计算一个unsigned int的二进制表达中1的数目)
最近在看《Programming Pearls》。里面的好些问题很有意思。做一点小小的总结吧。 这个问题是计算一个unsigned int型二进制数中一个的个数,google中看到了不少很巧妙的算法,在这里做一个简单总结。另外,很喜欢stackoverflow这个论坛,geek很多,打酱油的人很少,感觉国外的程序员遇到有趣的问题兴致更高。关于这个问题,帖子见http://stackoverf转载 2012-07-25 17:37:40 · 8742 阅读 · 0 评论 -
Jaccard相似度、minHash、Locality-Sensitive Hashing(LSH)
在数据挖掘中经常需要用到比较两个东西的相似度。比如搜索引擎要避免非常相似的文档出现在结果的前几页,再比如很多网站上都有的“查找与你口味相似的用户”、“你可能喜欢什么什么”之类的功能。后者其实是很大的一块叫做“协同过滤”的研究领域,留待以后详谈。 首先我们定义两个集合S,T的Jaccard相似度: Sim(S,T) = |S,T的交集| / |S,T的并集|。直观上就容易感觉出这是一个很简单而转载 2012-08-30 18:10:29 · 17671 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题 作者:July 出处:结构之法算法之道blog
教你如何迅速秒杀掉:99%的海量数据处理面试题 作者:July 出处:结构之法算法之道blog 前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的转载 2012-04-20 18:12:42 · 9210 阅读 · 0 评论 -
排序算法
排序算法 目录 1介绍2基于比较的排序算法 2.1插入排序(Insertion Sort)2.2选择排序(Selection Sort)2.3希尔排序(Shell Sort)2.4冒泡排序(Bubble Sort)2.5快速排序(Quick Sort)2.6一个与C++库函数不相上下的QuickSort2.7本人觉得直接将template T直接换成i转载 2011-12-16 10:39:14 · 642 阅读 · 0 评论 -
海量数据处理面试题集锦与Bit-map详解
十七道海量数据处理面试题与Bit-map详解 作者:小桥流水,redfox66,July。 前言 本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。 同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题转载 2011-12-15 14:13:26 · 472 阅读 · 0 评论 -
Bloom Filter概念和原理
Bloom Filter概念和原理 焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter转载 2011-12-15 13:52:49 · 368 阅读 · 0 评论 -
Detecting Near-Duplicates for Web Crawling - simhash与重复信息识别
随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题。例如,对于搜索引擎的爬虫系统来说,收录重复的网页是毫无意义的,只会造成存储和计算资源的浪费;同时,展示重复的信息对于用户来说也并不是最好的体验。造成网页近重复的可能原因主要包括: 镜像网站内容复制嵌入广告计数改变少量修改 一个简化的爬虫系统架构如下图所示: 事实上,传转载 2012-09-20 17:16:41 · 10237 阅读 · 1 评论