算法
文章平均质量分 72
孤灯提单刀
飞吧!羽翼见风就长~
展开
-
KMP算法分析
没碰算法久了大脑生锈得好快,看着 KMP 居然大脑一片空白,死活想不出当初怎么求 next 数组。google 一下,急躁地参考了一堆博客后终于想起来了。为了避免以后忘了又要浪费时间搜一遍,不如自己总结一篇吧!希望我的表述能帮更多人理解这个巧(qi)妙(pa)的算法。本文的完整源码(JavaScript)以及图片的 PSD 源文件都在[这里],有需要跟踪更新的可以 star,也可以 for转载 2014-09-14 21:52:56 · 377 阅读 · 0 评论 -
字符串匹配算法之KMP
KMP 算法说起字符串查找,大家肯定能理解朴素的查法,就是以 S 每个字符为开头与 W 比较。O(m*n)这种方法是基于回溯,但是这种回溯每次出现不匹配就要重头比较,没能很好的利用不匹配点之前已经进行的匹配比较,有很多回溯点可以直接判断是不可能匹配成功的,因此KMP变基于对子串的提前分析,在子串的位置j出现不匹配时,直接获得子串后移长度,减少了不必要的回溯,其效率可达到性O(m+n原创 2016-07-15 21:26:59 · 320 阅读 · 0 评论 -
BK树
1.BK树http://blog.jobbole.com/78811/2.基数估计http://blog.jobbole.com/78255/3.喷泉码http://blog.jobbole.com/78841/4.同型哈希http://blog.jobbole.com/80159/5.Levenshtein自动机http://blog.jobb原创 2016-07-11 16:30:49 · 2902 阅读 · 0 评论 -
一致性哈希
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1转载 2016-08-27 16:09:38 · 407 阅读 · 0 评论 -
笔试记录
【1】出处:网易有道已知队列的操作方式如下:1.取出队列第一个元素(同时从队列头部删除),放到队列尾部2.取出队列第一个元素(同时从队列头部删除),输出此元素,执行1,直到队列空。队列里存的数为1~n,n为队列元素个数。已知此操作过程要求可以将原始队列的输出序列为1、2、3、...、n.现给出队列元素个数n(>=1),输出满足要求的原始的队列(元素用空格隔开)。输入T(数据组数原创 2016-08-17 22:02:52 · 508 阅读 · 0 评论 -
随机抽样-蓄水池算法
问题定义可以简化如下:在不知道文件总行数的情况下,如何从文件中随机的抽取一行?首先想到的是我们做过类似的题目吗?当然,在知道文件行数的情况下,我们可以很容易的用C运行库的rand函数随机的获得一个行数,从而随机的取出一行,但是,当前的情况是不知道行数,这样如何求呢?我们需要一个概念来帮助我们做出猜想,来使得对每一行取出的概率相等,也即随机。这个概念即蓄水池抽样(Reservoir Samp原创 2016-08-24 10:43:45 · 344 阅读 · 0 评论 -
AC自动机-多模式匹配算法
AC自动机 算法目的: AC自动机主要用于解决多模式串的匹配问题,是字典树(trie树)的变种,一种伪树形结构(主体是树形的,但是由于加入了失败指针,使得它变成了一个有向图);trie图(我的理解^_^)是对AC自动机的一种改造,使得图中每个结点都有MAXC条出边(MAXC表示该图的字符集合大小), trie图上的每个结点代表一个状态,并且和AC自动机的结点是一一对转载 2016-08-24 12:05:15 · 4709 阅读 · 1 评论 -
进程的常用调度算法
一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的转载 2016-09-20 21:29:49 · 445 阅读 · 0 评论