kmp算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是根据给定的模式串W1,m,定义一个next函数。next函数包含了模式串本身局部匹配的信息
例子
| 代码如下 | 复制代码 |
|
/* 字符串匹配KMP算法的PHP语言实现 */ function KMP($str) { function KMPMatch($src, $par) { if ($j == $parLen) return $i-$j; echo $i." ".$j. " {$src[$i]}-{$par[$j]} $j++; $src = 'BBC ABCDAB ABCDABCDABDE'; echo "部分匹配值:", implode(" ", KMP($par)), " echo KMPMatch($src, $par), " 部分匹配值:0 0 0 0 1 2 0 0 0 B-A 1 0 B-A 2 0 C-A 3 0 -A 4 0 A-A 5 1 B-B 6 2 C-C 7 3 D-D 8 4 A-A 9 5 B-B 10 6 -D 10 2 -C 10 0 -A 11 0 A-A 12 1 B-B 13 2 C-C 14 3 D-D 15 4 A-A 16 5 B-B 17 6 C-D 17 2 C-C 18 3 D-D 19 4 A-A 20 5 B-B 21 6 D-D 15 */ |
|
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏