
算法
xiewenbo
互联网广告行业呆过几年,旅游公司呆过几年,对机器学习,自然语言处理,图像识别,个性化推荐 有兴趣
展开
-
R-Tree空间索引算法的研究历程和最新进展分析
[原文:http://blog.youkuaiyun.com/chenyq2008/archive/2008/03/02/2140477.aspx]摘要:本文介绍了空间索引的概念、R-Tree数据结构和R-Tree空间索引的算法描述,并从R-Tree索引技术的优缺点对R-Tree的改进结构——变种R-Tree进行了论述。最后,对R-Tree的最新研究进展进行了分析。关键词:空间索引技术;R-T转载 2012-04-24 23:20:06 · 731 阅读 · 0 评论 -
Aho-Corasick算法的Java实现与分析
简介Aho-Corasick算法简称AC算法,通过将模式串预处理为确定有限状态自动机,扫描文本一遍就能结束。其复杂度为O(n),即与模式串的数量和长度无关。思想自动机按照文本字符顺序,接受字符,并发生状态转移。这些状态缓存了“按照字符转移成功(但不是模式串的结尾)”、“按照字符转移成功(是模式串的结尾)”、“按照字符转移失败”三种情况下的跳转与输出情况,因而降低了复杂度转载 2016-11-24 19:29:24 · 3429 阅读 · 0 评论 -
基于PageRank算法的自动封号策略
PageRank算法即网页排名,是由Google创始人拉里·佩奇和谢盖尔·布林构建搜索引擎原型时提出的链接分析算法。Google的成功,使得该算法在搜索引擎界和学术界受到空前关注,后来的许多链接分析算法都是基于PageRank算法衍生出来的。搜索引擎先根据相关性算法,找出与关键词最相关的网页,然后使用PageRank算法调整排名,能大大提高搜索的质量。PagePank算法除了在网页排名中有重要的应转载 2016-05-30 16:21:46 · 1764 阅读 · 0 评论 -
使用TextRank算法为文本生成关键字和摘要
目录[-]PageRank使用TextRank提取关键字使用TextRank提取关键短语使用TextRank提取摘要实现TextRankTextRank算法基于PageRank,用于为文本生成关键字和摘要。其论文是: Mihalcea R, Tarau P. TextRank: Bringing order into texts[C]. Associ转载 2015-06-28 15:07:52 · 15762 阅读 · 0 评论 -
BloomFilter of Guava
When the Guava project released version 11.0, one of the new additions was the BloomFilter class. A BloomFilter is a unique data-structure used to indicate if an element is contained in a set. What ma转载 2014-05-04 17:43:40 · 1431 阅读 · 0 评论 -
LSA SVD PLSI Topic Model
转载 2013-12-16 21:52:00 · 807 阅读 · 0 评论 -
从赌钱游戏看PageRank算法
谈到并行计算应用,会有人想到PageRank算法,我们有成千上万的网页分析链接关系确定排名先后,借助并行计算完成是一个很好的场景。长期以来,Google的创始发明PageRank算法吸引了很多人学习研究,据说当年Google创始者兴奋的找到Yahoo!公司,说他们找到一种更好的搜索引擎算法,但是被Yahoo!公司技术人员泼了冷水,说他们关心的不是更好的技术,而是搜索的盈利。后来Google包装成了转载 2013-12-04 20:07:05 · 698 阅读 · 0 评论 -
字符串匹配的Boyer-Moore算法
各种文本编辑器的”查找”功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Moore教授发明了这种算法。下面,我根据Moore教授自己的例子来解释这种算法。1.假定字符串为”HERE IS A SI转载 2013-05-05 23:49:51 · 596 阅读 · 0 评论 -
字符串匹配的KMP算法
举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Ja转载 2013-05-05 23:45:35 · 570 阅读 · 0 评论 -
求两个等长有序数组的中位数的logN算法 分治法
题目:有两个长为n的非递减数组A和B,把B接在A的后面变成长为2n的数组C。设计算法求C的中位数(第n小数)。思路:O(n)的算法很容易找到,关键是用二分的思想设计logn算法。这题关键是用好a和b数组中脚标和为定值的元素的大小关系。 直观想法是:如果中位数在数组a中,那么若a[m] b [n-m-1],此时比a[m]小的数至少有n个,a[m]不可能为第n小数转载 2012-10-14 17:14:13 · 1152 阅读 · 0 评论 -
逆波兰表达式
逆波兰表达式逆波兰表达式又叫做后缀表达式。在通常的表达式中,运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家 J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构转载 2012-10-14 16:50:32 · 549 阅读 · 0 评论 -
希尔排序
百科名片 希尔排序法希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 查看精彩图册目录基本思想介绍算法分析稳定性选择排序希尔排序的JAVA实现希尔排序的C#实现转载 2012-09-22 19:27:18 · 676 阅读 · 0 评论 -
哈夫曼编码简介
哈弗曼编码几乎是所有压缩算法的基础,其实这个算法并不复杂,简单的理解就是,如何用更短的bit来编码数据。 我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit:字符编码A00101001B00101010C00101011…… 这样,计算机就能很方便转载 2012-09-20 21:21:08 · 749 阅读 · 0 评论 -
simhash与重复信息识别
在工作学习中,我往往感叹数学奇迹般的解决一些貌似不可能完成的任务,并且十分希望将这种喜悦分享给大家,就好比说:“老婆,出来看上帝”…… 随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题。例如,对于搜索引擎的爬虫系统来说,收录重复的网页是毫无意义的,只会造成存储和计算资源的浪费;同时,展示重复的信息对于用户来说也并不是最好的体验。造成网页近重复的可转载 2012-05-23 19:24:50 · 4540 阅读 · 1 评论 -
背包问题(1)——01背包、完全背包、多重背包、混合三种背包问题
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max转载 2012-04-20 16:01:43 · 793 阅读 · 0 评论 -
算法系列---回溯算法
引言 寻找问题的解的一种可靠的方法是首先列出所有候选解,然后依次检查每一个,在检查完所有或部分候选解后,即可找到所需要的解。理论上,当候选解数量有限并且通过检查所有或部分候选解能够得到所需解时,上述方法是可行的。不过,在实际应用中,很少使用这种方法,因为候选解的数量通常都非常大(比如指数级,甚至是大数阶乘),即便采用最快的计算机也只能解决规模很小的问题。对候选解进行系统检查的方法有多转载 2012-04-24 23:17:58 · 511 阅读 · 0 评论 -
lockFree
[size=medium]算法描述Lock-free 算法的基础是 CAS (Compareand-Swap) 原子操作。当某个地址的原始值等于某个比较值时,把值改成新值,无论有否修改,返回这个地址的原始值。目前的cpu 支持最多64位的CAS。并且指针 p 必须对齐。注:原子操作指一个cpu时钟周期内就可以完成的操作,不会被其他线程干扰。一般的 CAS 使用方式是:假设有指针 p...原创 2011-11-09 17:03:46 · 121 阅读 · 0 评论