
算法
Mr_John_Liang
这个作者很懒,什么都没留下…
展开
-
算法复杂度——时间复杂度
大O表示法算法复杂度可以从最理想情况、平均情况和最坏情况三个角度来评估,由于平均情况大多和最坏情况持平,而且评估最坏情况也可以避免后顾之忧,因此一般情况下,我们设计算法时都要直接估算最坏情况的复杂度。大O表示法O(f(n)中的f(n)的值可以为1、n、logn、n²等,因此我们可以将O(1)、O(n)、O(logn)、O(n²)分别可以称为常数阶、线性阶、对数阶和平方阶,那么如...转载 2019-10-15 10:05:01 · 434 阅读 · 0 评论 -
AC多模式匹配算法
字符串匹配,主要分两种情况。一种是单字符串匹配,另一种是多字符串匹配。单字符串匹配的意思就是,从一个较长的字符串里找所包含的另一个字符串,可以包括匹配的位置以及个数。多字符串匹配又称多模式匹配,诚然,你可以循环调用单字符串匹配的算法,一个一个匹配。但是很明显,这并不是一个高效的做法。目前有很多算法可以提高匹配的效率,而我选中的AC算法,主要是因为它的简单,当然,效率也不是盖的。单字转载 2013-10-31 15:07:32 · 1131 阅读 · 0 评论 -
[原创]关键词搜索算法改进——顺序表字典二分法逐级检索
本文关键词:关键词搜索, 顺序表字典, 二分法, 逐级检索问题重述:有一个内含有大约40万条常用词汇的词库。现给定一篇文章,使用这个词库分析出常用词汇的出现次数,并按出现次数由高到低排序这些词语。改进算法的思路: 1. 通常一篇文章所包含的词语远少于词库中40万的数量; 2. 数据库建立索引之后,可采用“二分法”对词语进行快速定位; 3. 逐字缩小查询范围,如果查询到某个转载 2013-10-31 15:08:53 · 1184 阅读 · 0 评论 -
POCO C++库学习和分析 -- 哈希
1. Hash概论 在理解Poco中的Hash代码之前,首先需要了解一下Hash的基本理论。下面的这些内容和教课书上的内容并没有太大的差别。1.1 定义 下面这几段来自于百度百科: Hash:一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输转载 2013-11-28 16:41:50 · 834 阅读 · 0 评论 -
simhash算法原理和代码实现
转载:http://leoncom.org/?tag=simhashhttp://blog.sina.com.cn/s/blog_56d8ea900100y41b.html Simhash传统IR领域内文本相似度比较所采用的经典方法是文本相似度的向量夹角余弦,其主要思想是根据一个文章中出现词的词频构成一个向量,然后计算两篇文章对应向量的向量夹角。但由于有可能转载 2014-06-20 17:14:38 · 4984 阅读 · 0 评论