0
点赞
收藏
分享

微信扫一扫

【优选算法】专题1 -- 双指针 -- 复写0

Go_Viola 1天前 阅读 1
数据结构

串的定义

存储

顺序存储

链式存储

基本操作

串和线性表的区别

可以从数据结构的三要素展开论述

区别

相同

字符串模式匹配

朴素模式匹配算法

KMP算法

  • 思想

  • 性能:O(m+n)

  • 重点掌握next数组的手算求法

求next数组例题:

next[1]和next[2]分别是0和1,

比如出现第6个字符不匹配时,模式串向后移动,直到部分能和主串匹配就停下来,如上图,因为?可能和b匹配,因此next[6]的值为 4.其他的值也可以自己手动算一下试试。

 求出next数组后,如果遇到第一个字符不匹配,则特别要注意next[1]这种情况:

那么问题来了,比如考研复试某真题:KMP算法,什么情况下主指针需要向前移动?

举报

相关推荐

0 条评论