
算法
文章平均质量分 82
jimmy_游戏人生
热爱技术,为专研技术可以废寝忘食。
展开
-
详解分治算法
分治算法,就是利用递归的思想,分而治之。核心思想是把一个问题,分解成n/2个子问题来解决。其中,归并排序就是典型的运用。 例如:我们把数组1,3,2,4,6,5,7,8,0,9 这十个数,用分治法做排序。 如何利用分治思想,做排序呢。通过我们的观察,我们发现,能对10个数排序,就能对5个数排序,也能对2 个数排序,极端一点,我们也可以对一个数进行排序。也就是说,对十个数进行排序,也原创 2013-11-20 14:12:03 · 1166 阅读 · 0 评论 -
KMP 算法研究
定义:(1)next[0]= -1 意义:任何串的第一个字符的模式值规定为-1。(2)next[j]= -1 意义:模式串T中下标为j的字符,如果与首字符相同,且j的前面的1—k个字符与开头的1—k个字符不等(或者相等但T[k]==T[j])(1≤k)。如:T=”abCabCad”则 next[6]=-1,因T[3]=T[6](3)next[j]=k原创 2013-11-13 18:11:32 · 739 阅读 · 0 评论 -
动态规划问题详解(二)
在动态规则问题详解(一)中,我们用1,3,5三个硬币,求用最少的硬币组成11元的问题。这一节,我们来讨论一个复杂一点的问题。这个问题,曾经是某公司的面试题。 有从1-N个连接的整数,把1-N个整个划分为二个相等的集合,问有几种划分的方法。 如 {1,2,3},则有{1,2}和{3},只有一种划分方法。 如{1,2,3,4,5,6,7} 则有 {1,原创 2013-12-03 16:45:01 · 836 阅读 · 0 评论 -
动态规划问题详解(一)
动态规划问题,其实就是一种求解最优解的一种思想。我这里说是一种思想,是因为它只提供了一种思考的方式。原创 2013-12-02 15:56:31 · 1278 阅读 · 0 评论 -
动态规划问题详解(三)
在动态规划问题详解1,2中,我们只是拿了2个例子说明了一下什么是动态规划,及解题的思路。并没有形成一套完整的理论。这篇文章,我们将讨论如何用数学模型给动态规划问题建模。原创 2013-12-04 14:58:42 · 1069 阅读 · 0 评论 -
动态规则问题详解(四)
在前一节,我们讲到了动态规则问题的一般理论方法。这一节,我将带领大家详解装配站问题 问题描述 见《算法导论》15.1节 对于这个问题,我们应该如何求解呢? 装配站1线和2线上,每条线上有6个小站,每个小站的工作效率也不一样,换一句话说,在装配站1和2线上,相同位置的小站,对同一个零部件,加工所花的时间不一样。我们要找的,就是哪个装配站上的哪个小站的工作效率高,找出工原创 2013-12-18 15:36:39 · 670 阅读 · 0 评论 -
编辑距离算法(LD)详解
编辑距离算法,是自然语言处理中的重要的算法之一。也是从多个相似的字符串组中提取字符串的有利的武器。编辑距离算法,也称为LD算法。LD算法就是自然语言处理(NLP)里的“编辑距离”算法。俄国科学家Levenshtein提出的,故又叫Levenshtein Distance (LD算法)【定义】设A和B是两个字符串。将字符串A转换为字符串B所用的最少字符操作数称为字符串A到字符串B的编辑距离。原创 2013-11-27 13:10:56 · 7502 阅读 · 0 评论 -
paxos 算法深入解析
最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载。对paxos算法有初步了解之后,再看此文的效果会更好;如果你也想分析libpaxos3的话,此文应该会对你有不小帮助;关于paxos的历史这里不多做介绍原创 2014-08-04 10:38:49 · 825 阅读 · 0 评论