![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 82
22262
这个作者很懒,什么都没留下…
展开
-
并查集结构
并查集 主要是用以解决元素分组的问题 其基本操作包括 合并:把两个不相交的集合合并为一个集合 查询:查询两个元素时否在一个集合中 在实际算法问题中有一个使用并查集的经典问题 祖先(亲戚)问题 给出一系列的两两亲源关系,再合并形成总的祖先树图结构 1、在最开始我们有一系列的点[0, 1, 2, 3, 4, 5, 6, …]作为问题的元素,一个标号可以代表一个人,在最开始我们不知道他们的亲源关系时,大家都是孤立的节点,即单元素集合 2、 随后我们得到一系列的关系列表例如[[0, 1], [0,原创 2021-06-05 14:04:34 · 74 阅读 · 0 评论 -
Manacher算法,线性解决最长回文子串
问题提要: 回文串即从左到右与从右到左的序列完全相同的字符串,现在要寻找一个字符串中的最长回文子串 针对这个问题有一下几种解题思路 暴力求解:循环每一个子串,然后再进行子串的回文判断,但这样的话时间复杂度可以达到O(n^3)的级别 动态规划:在进行回文判断时,我们可以把这个问题分解为一个小问题, 判断 s(i, j)是否为回文,则可以在s[i] == s[j]的情况下判断s(i+1, j-1)是否为回文 // 动态方程如下 { s(i, i) true s(i, j) = (s[i] .原创 2021-05-19 19:32:34 · 133 阅读 · 2 评论 -
梦回KMP算法
今天偶然间刷到一题,在目标字符串中查找模式串的起始位置,第一想法就是公共库带的indexOf这类的API,如果是自己实现的话就是经典的KMP算法,但算法实现已经完全模糊了,估计一开始也没掌握,难得再遇,所以打算记录下我关于KMP算法的理解 KMP算法是一个经典的字符串查找算法,全称是Knuth-Morris-Pratt,取自三个发表者的名字 算法背景 假设当前有一个T目标字符串和一个P模板字符串,我们希望在T中查找到P这个模板串的位置 算法思想理解 暴力求解的话就是直接二重循环进行查找 假设遍历T串的.原创 2021-04-08 23:58:51 · 76 阅读 · 1 评论