博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KMP算法的JavaScript实现
阅读量:5823 次
发布时间:2019-06-18

本文共 755 字,大约阅读时间需要 2 分钟。

 刚才看到新闻频道转截的一篇文章:,图文并茂通俗易懂,就用JS实现了一下,现分享出来。

  算法的核心是部分匹配表和回退算法,部分匹配表的实现如下:

function kmpGetStrPartMatchValue(str) {    var prefix = [];    var suffix = [];    var partMatch = [];    for(var i=0,j=str.length;i

  回退算法实现如下:

function KMP(sourceStr,targetStr){    var partMatchValue = kmpGetStrPartMatchValue(targetStr);    var result = false;    for(var i=0,j=sourceStr.length;i
0 && partMatchValue[m-1] > 0){ m = partMatchValue[m-1]-1; } else { break; } } } if(result){ break; } } return result;}var s = "BBC ABCDAB ABCDABCDABDE";var t = "ABCDABD";console.log(KMP(s,t));//output: true

  欢迎交流讨论。

本文转自博客园博客,原文链接:,如需转载请自行联系原作者

你可能感兴趣的文章
[20171115]ZEROCONF ROUTE.txt
查看>>
mysql中文编码问题
查看>>
javascript--对象
查看>>
mac下修改mysql的密码
查看>>
Netty实现原理浅析
查看>>
手机吸费软件肆意捞金,通过代码签名证书加以防范
查看>>
C语言作业06--结构体&文件
查看>>
Notepad++ xml/json格式化
查看>>
CRUD全栈式编程概述
查看>>
LeetCode – Refresh – Permutations II
查看>>
eclipse.ini内存设置
查看>>
消息队列
查看>>
windows远程连接报:身份错误,函数不支持的解决办法
查看>>
Nginx篇--解读nginx配置
查看>>
C++ Primer笔记----第十六章 模板和泛型编程
查看>>
YII框架学习(一)
查看>>
luogu P2526 [SHOI2001]小狗散步 二分图匹配
查看>>
Android----输入模式设置
查看>>
福大软工1816 · 团队现场编程实战(抽奖系统)
查看>>
如何用python爬取两个span之间的内容
查看>>