KMP算法(字符串比较)

发布于:2023-01-10 ⋅ 阅读:(215) ⋅ 点赞:(0)

KMP算法
       用于解决字符串的匹配问题。
       算法实现:利用已经匹配过的信息,在原串的比较位置不变的情况下,让匹配串的比较位置尽快移动到有效的位置。 
       算法优势:利用已经匹配完成的部分,将有效信息复用,减少重复无效的匹配次数,算法复杂度从O(mn)降低到O(m+n)
       新的名词:前缀and后缀,前缀和后缀是通过相对位置来确定的,所以一旦找到了相同的前缀and后缀,二者是可以替换掉的。

下面是可以参考的视频和笔记。
【搬运】油管阿三哥讲KMP查找算法icon-default.png?t=M7J4https://www.bilibili.com/video/BV18k4y1m7Ar?spm_id_from=333.337.search-card.all.click&vd_source=77495b917a4112e8d259e9feb88910b5

 看完上边的视频后可以再快速食用另一个视频加深理解。

奇乐编程学院的kmp讲解icon-default.png?t=M7J4https://www.bilibili.com/video/BV1AY4y157yL?spm_id_from=333.337.search-card.all.click&vd_source=77495b917a4112e8d259e9feb88910b5

还有leetcode的一道可用kmp算法的字符串比较题。

leetcode28. 实现 strStr()icon-default.png?t=M7J4https://leetcode.cn/problems/implement-strstr/


网站公告

今日签到

点亮在社区的每一天
去签到