问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

kmp模式Java编程需要学吗

发布网友 发布时间:2022-05-15 18:00

我来回答

1个回答

热心网友 时间:2023-08-05 03:12

kmp模式,是指进行字符串比较:
此算法是由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现的,因此该算法被称为克努斯-莫里斯-普拉特操作,简称为KMP算法。
KMP算法,是不需要对目标串S进行回溯的模式匹配算法。读者可以回顾上面的例子,整个过程中完全没有对目标串S进行回溯,而只是对模式串T进行了回溯。通过前面的分析,我们发现这种匹配算法的关键在于当出现失配情况时,应能够决定将模式串T中的哪一个字符与目标串S的失配字符进行比较。所以呢,那三位前辈就通过研究发现,使用模式串T中的哪一个字符进行比较,仅仅依赖于模式串T本身,与目标串S无关。
这里就要引出KMP算法的关键所在next数组,next数组的作用就是当出现失配情况S[i] != T[j]时,next[j]就指示使用T中的以next[j]为下标的字符与S[i]进行比较(注意在KMP算法中,i是永远不会进行回溯的)。还需要说明的是当next[j] = -1时,就表示T中的任何字符都不与S[i]进行比较,下一轮比较从T[0]与S[i+1]开始进行。由此可见KMP算法在进行模式匹配之前需要先求出关于模式串T各个位置上的next函数值。即next[j],j = 0,1,2,3,...n-1。
如果你是研究底层算法的话,要了解一下,如果你是做应用开发的话,了解一下就可以了,这是数据结构方面的内容。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 英语作文:我的梦想带翻译 初二英语作文:讲述自己的新年愿望及实现的方法 关于新年愿望的英语作文 初二英语作文 我的新年愿望 my new year's wish(我的新年愿望) 英语作文!!!拜托各位大神 英文作文 新年愿望 你的新年愿望是什么?用英文写出来 我的新年愿望英语作文,谁能帮我写一篇关于我的新年愿望的英语小作文,学、 关于自己新年愿望的英语作文 英语作文我的新年愿望(120词以上)带翻译 新年愿望英语作文70子 冰心樱花赞赏析 有关樱花的散文 关于樱花的散文唯美的 描写樱花的美文摘抄有哪些? 达拉特旗旅在哪? 高压锅加工排骨上汽多长时间 生栗子怎么保存 谁知道用高压锅怎么炖排骨吗?谁能告诉我? 高压锅酱闷排骨的做法 阅读与写话 一年级阅读与写话怎么写呀 java String类封装的index方法是用的KMP匹配吗? java中String的int indexof(String)方法是用什么算法实现的,是KMP吗? 听力、阅读、写话如何在课堂教学和延时服务里高校落实 二上语文:阅读与写话,写自己亲身经历或听过的事 为何用火狐在360云盘点离线下载(BT下载)会弹出Shockwave Flash正忙? 看图写话巜阅读最快乐 如何java读取海量中文文本 java为什么要将txt文本中的内容放进一个数组再拼接成一个字符串? flash可不可以下载?如果可以,去哪下载陈小春的《神啊,救救我吧》的搞笑flash? Java中indexOf()判断字符子串位置采用的是什么算法? Java查找一个字符串中包含某个字符串的速度最快的方法 父母考我JAVA,让我写个程序,给他们看看,写什么好啊? 关于flash下载的问题 StringBuilder有多消耗性能 怎么把网上的Flash下载到U盘上? 怎样才能拿摩托车赛车证? 浙江哪里可以考赛车驾驶证? 怎样成为摩托车赛车手?参加摩托车俱乐部要摩托车驾照吗?