算法学习
文章平均质量分 80
ysh_ysh
这个作者很懒,什么都没留下…
展开
-
动态规划——斐波那契算法
兔子生长的数目问题描述: 第一个月初有一对刚诞生的兔子第二个月之后(第三个月初)它们可以生育每月每对可生育的兔子会诞生下一对新兔子兔子永不死去 假设在n月有可生育的兔子总共a对,n+1月就总共有b对。在n+2月必定总共有a+b对: 因为在n+2月的时候,前一月(n+1月)的b对兔子可以存留至第n+2月(在当月属于新诞生的兔子尚不能生育)。而新生育出的兔子对数等于所有在n月就已存在的a对原创 2014-01-02 16:51:57 · 695 阅读 · 0 评论 -
迪科斯彻算法
这个算法是通过为每个顶点 v 保留目前为止所找到的从s到v的最短路径来工作的。初始时,原点 s 的路径长度值被赋为 0 (d[s] = 0),若存在能直接到达的边(s,m),则把d[m]设为w(s,m),同时把所有其他(s不能直接到达的)顶点的路径长度设为无穷大,即表示我们不知道任何通向这些顶点的路径(对于 V 中所有顶点 v 除 s 和上述 m 外 d[v]= ∞)。当算法退出时,d[v] 中存原创 2014-01-07 15:40:35 · 757 阅读 · 0 评论 -
学习算法之路
出处:http://www.kuqin.com/algorithm/20130212/333969.html 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.转载 2014-01-10 21:28:48 · 577 阅读 · 0 评论 -
KMP算法
这种算法是D.E.Knuth 与V.R.Pratt和J.H.Morris同时发现的,因此人们称为KMP算法。此算法可以在O(n+m)的时间数量级上完成串的模式匹配操作。 其基本思想是:每当匹配过程中出现字符串比较不等时,不需回溯i指针,而是利用已经得到的“部分匹配”结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较。 [cpp] view pla转载 2014-09-19 16:20:57 · 384 阅读 · 0 评论 -
KMP算法之二
转自:http://blog.csdn.net/ts173383201/article/details/7850120转载 2014-09-19 17:24:06 · 440 阅读 · 0 评论 -
Sunday算法c语言版实现
原文地址:Sunday算法c语言版实现 作者:txgc_wm 一、BF算法 BF算法是普通的模式匹配算法,其基本思想就是将目标串的第一个字符与模式串的第一个字符进行匹配。若相等,则继续比较第二个字符;若不相等,则比较目标串的第二个字符和模式串的第一个字符。依次比较下去,直到得出最后的匹配结果。 示例代码: static i转载 2014-09-19 17:23:54 · 1662 阅读 · 0 评论 -
zlib最快的压缩/解压写法
转自:http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=32639 首先说明,这里不是横向比较zlib与别的引擎(rar,leo,powerarc...),是探索如何发挥zlib压缩/解压的最大效率。 先看看如下代码在效率上的差异: var MS:TMemoryStream; (1): begin MS:=TMemo转载 2014-11-12 20:13:33 · 4767 阅读 · 0 评论