【数据结构和算法笔记】KMP算法介绍_模式匹配

BF暴力算法:

【数据结构和算法笔记】KMP算法介绍_数据结构_02

当模式串位i与目标串i比较时两字符不相等,则i的移动方式:i=i-j+1

                                                                         j的移动方式:j=0 

【数据结构和算法笔记】KMP算法介绍_模式匹配_03

 

【数据结构和算法笔记】KMP算法介绍_模式匹配_04

 KMP算法简介:

【数据结构和算法笔记】KMP算法介绍_数据结构_05

 

【数据结构和算法笔记】KMP算法介绍_算法_06

【数据结构和算法笔记】KMP算法介绍_模式匹配_07

【数据结构和算法笔记】KMP算法介绍_数据结构_08

【数据结构和算法笔记】KMP算法介绍_数据结构_09

●KMP模式匹配中,当模式串位j与目标串位i比较两字符不相等

i  移位方式:i不变

j  移位方式:j=next [j]

○当两个相等时:i++,j++

●KMP算法的最大特点是指示主串的指针不需要回溯

●并非所有情况KMP算法均优于BF算法

     

【数据结构和算法笔记】KMP算法介绍_数据结构_10

 

【数据结构和算法笔记】KMP算法介绍_算法_11