算法
十三w~w
这个作者很懒,什么都没留下…
展开
-
【算法】动态规划
动态规划 标签:PAT 文章目录动态规划理解基本概念引例典型问题最大连续子列和最长不降子序列(LIS)最长公共子序列(LCS)最长回文串DAG最长路不定终点定终点实例动态规划01背包完全背包 理解 动态规划是将原始问题分解为若干个子问题,对子问题进行求解,并记录下子问题的结果,当求解包含已经解决的子问题的原问题时,返回子问题的结果即可 基本概念 转移方程、边界 最优子结构 引例 数塔问题 在如...原创 2019-03-02 19:48:07 · 216 阅读 · 0 评论 -
【算法】KMP算法
文章目录一. 暴力匹配二.KMP的基本思想三.`next[]`的求法1. 暴力求解2. 递推求解四.KMP算法 一. 暴力匹配 字符串匹配的最直接的方法就是暴力匹配,而KMP算法也是基于暴力算法进行改进。暴力匹配的思想如下: 对于文本串T和模式串P,从模式串P的第 0 号位置、文本串第 i0i_0i0 号位置开始逐一比对; 比对到中间某个时刻,若T[i]==P[j]T[i ] == P[j]T...原创 2019-03-11 19:52:06 · 147 阅读 · 0 评论 -
【算法】BM算法
BM算法 文章目录BM算法一. 字符串比较的分析二.BM算法的思想三.算法实现 一. 字符串比较的分析 如果要判定长度为nnn两个字符串相等,比较中要进行nnn比较,但是如果要判定两个字符串不相等,只需要找出一个不相等的位置,因此可以得到如下结论: 结论1:判定字符串相等和判定字符串不相等的代价不同,判定不相等的代价更小 在KMP算法中,每发生一次失配时,算法总是尝试根据已经获得的匹配成功的信息来...原创 2019-03-30 17:12:05 · 543 阅读 · 0 评论 -
【算法】Manacher算法
Manacher算法 文章目录Manacher算法最长回文串问题对中心扩展法的分析manacher算法思想字符串预处理算法实现代码 最长回文串问题 manacher算法是用来求解最长回文串的问题。最长回文串的解法一般有暴力法、动态规划、中心扩展法和manacher算法。 暴力法的时间复杂度为O(n3)O(n^3)O(n3),一般都会超时; 动态规划的时间复杂度和空间复杂度均为O(n2)O(n^2...原创 2019-03-28 17:25:29 · 146 阅读 · 0 评论