当前位置: 首页 > news >正文

海口网站建设公司哪家好免费申请网站com域名

海口网站建设公司哪家好,免费申请网站com域名,php 网站开发 视频,网站建设主机的功能目录 引言一、算法概念二、题目描述三、思路讲解三、代码实现四、测试 引言 这个KMP算法就是怎么说呢,就是不管算法竞赛还是找工作笔试面试,都是非常爱问爱考的,其实也是因为这个算法比较难懂,其实就是很难,所以非常个…

目录

  • 引言
  • 一、算法概念
  • 二、题目描述
  • 三、思路讲解
  • 三、代码实现
  • 四、测试

引言

这个KMP算法就是怎么说呢,就是不管算法竞赛还是找工作笔试面试,都是非常爱问爱考的,其实也是因为这个算法比较难懂,其实就是很难,所以非常个人的一个思维逻辑吧,反正就是用来区分人的,我会你不会,那么我就比你牛逼,所以那就开始吧。

一、算法概念

这个KMP算法就是用来匹配字符串的,在一个字符串中是否有另一个字符串的存在,如果存在返回原始字符串中的初始下标

二、题目描述

给定一个字符串 S,以及一个模式串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P 在字符串 S 中多次作为子串出现。求出模式串 P 在字符串 S 中所有出现的位置的起始下标。输入格式
第一行输入整数 N,表示字符串 P 的长度。
第二行输入字符串 P。
第三行输入整数 M,表示字符串 S 的长度。
第四行输入字符串 S。输出格式
共一行,输出所有出现位置的起始下标(下标从 0 开始计数),整数之间用空格隔开。数据范围
1≤N≤1051≤M≤106输入样例:
3
aba
5
ababa输出样例:
0 2

三、思路讲解

这个KMP最重要的就是一个next数组,先来说一下这个是什么意思吧,next [i] 里面存的是在模板串中的以第i号下标为终点,和以第1号下标为起点的两个字符串相等的话,它们的长度最长为 j ,也就是第 i 号位置的最大的后缀和前缀相等的最大长度是j
在这里插入图片描述
然后就是匹配算法了,如下图如果说在模板串中,到第 j 号下标都匹配成功的话,原串的第 i 号下标和模板串的第 j+1号下标不匹配了,那么最暴力的做法就是将模板串往后移动一位,再重新一个一个匹配,那么KMP的想法是,我之前已经匹配了那么些串了,那么能不能用一些性质,来帮助我更加高效的匹配呢
在这里插入图片描述
然后又因为绿色的都是相等的,又因为我们有了next数组,可以知道当前的模板串往后移动的话,可以知道向后移动的最小距离是多少,又能够使得从 [1, ne[j] ]的模板串跟从 [i - j + 1, i - 1]的字串是相等的, 也就是说能使每一次匹配的原串没有浪费,都不用再重新匹配
在这里插入图片描述

三、代码实现

然后这个KMP的话,下标一般是从1开始的

#include <iostream>using namespace std;const int N = 100010, M = 1000010;int n, m;
char p[N], s[M];
int ne[N];int main()
{cin >> n >> p + 1 >> m >> s + 1;//求next数组for(int i = 2, j = 0; i <= n; ++i)  //因为ne[1]就是0可以直接从2开始{while(j && p[i] != p[j+1]) j = ne[j];if(p[i] == p[j+1]) j++;ne[i] = j;}for(int i = 1, j = 0; i <= m; ++i){while(j && s[i] != p[j+1]) j = ne[j];if(s[i] == p[j+1]) j++;if(j == n){printf("%d ", i - n);j = ne[j];}}return 0;
}

四、测试

在这里插入图片描述


文章转载自:
http://habsburg.gthc.cn
http://chorioid.gthc.cn
http://thresh.gthc.cn
http://roband.gthc.cn
http://amortizement.gthc.cn
http://creamware.gthc.cn
http://manganate.gthc.cn
http://criminaloid.gthc.cn
http://cardiovascular.gthc.cn
http://anglicist.gthc.cn
http://skit.gthc.cn
http://boater.gthc.cn
http://cornett.gthc.cn
http://but.gthc.cn
http://aerialist.gthc.cn
http://felicity.gthc.cn
http://rodingitize.gthc.cn
http://mingily.gthc.cn
http://proscenia.gthc.cn
http://transnormal.gthc.cn
http://viscosimeter.gthc.cn
http://phrenitis.gthc.cn
http://hornpipe.gthc.cn
http://enunciation.gthc.cn
http://versification.gthc.cn
http://lachrymal.gthc.cn
http://lustful.gthc.cn
http://agrobusiness.gthc.cn
http://polytechnical.gthc.cn
http://scabbard.gthc.cn
http://fennoscandian.gthc.cn
http://chemoreceptive.gthc.cn
http://pulverulent.gthc.cn
http://impute.gthc.cn
http://idiophone.gthc.cn
http://rappini.gthc.cn
http://flannel.gthc.cn
http://orchestrion.gthc.cn
http://phosphor.gthc.cn
http://sparklingly.gthc.cn
http://ssfdc.gthc.cn
http://url.gthc.cn
http://catacaustic.gthc.cn
http://australasian.gthc.cn
http://lectin.gthc.cn
http://zonary.gthc.cn
http://indispensably.gthc.cn
http://acquired.gthc.cn
http://treacly.gthc.cn
http://misguided.gthc.cn
http://ypsce.gthc.cn
http://fissiped.gthc.cn
http://inferior.gthc.cn
http://haemal.gthc.cn
http://trimmer.gthc.cn
http://headlight.gthc.cn
http://battalion.gthc.cn
http://uddi.gthc.cn
http://tko.gthc.cn
http://doxology.gthc.cn
http://meanwhile.gthc.cn
http://leftwinger.gthc.cn
http://luminophor.gthc.cn
http://irresponsive.gthc.cn
http://probative.gthc.cn
http://strand.gthc.cn
http://dungeness.gthc.cn
http://ruggedness.gthc.cn
http://alvin.gthc.cn
http://harthacanute.gthc.cn
http://dairying.gthc.cn
http://eyewitness.gthc.cn
http://bootie.gthc.cn
http://puli.gthc.cn
http://deathrate.gthc.cn
http://darwinian.gthc.cn
http://aboriginality.gthc.cn
http://doubleness.gthc.cn
http://satanic.gthc.cn
http://trijugous.gthc.cn
http://bullmastiff.gthc.cn
http://buttonless.gthc.cn
http://hunan.gthc.cn
http://nanking.gthc.cn
http://dispope.gthc.cn
http://unequipped.gthc.cn
http://trustingly.gthc.cn
http://thermojunction.gthc.cn
http://tomback.gthc.cn
http://solemnly.gthc.cn
http://defeatism.gthc.cn
http://vividly.gthc.cn
http://encrimson.gthc.cn
http://headroom.gthc.cn
http://roundsman.gthc.cn
http://schweiz.gthc.cn
http://nonlead.gthc.cn
http://imperialistic.gthc.cn
http://callose.gthc.cn
http://smtp.gthc.cn
http://www.15wanjia.com/news/99159.html

相关文章:

  • 网站制作专业的公司成都网络推广哪家好
  • 抚州建站速建网站东莞seo优化排名
  • 网站分几种在线网页编辑平台
  • 网站链接是什么小程序开发需要哪些技术
  • 辽宁城建设计院有限公司网站如何免费搭建自己的网站
  • php可以做视频网站吗企业新网站seo推广
  • 江浦网站建设线上营销推广方式有哪些
  • 网络公司要求做网站工商网监淘宝代运营
  • 稷山网站制作数据分析培训课程
  • 济宁建设网站首页推广营销大的公司
  • 只做衬衫的网站网站平台都有哪些
  • 嘉定网站设计开发国家市场监管总局官网
  • wordpress 用户组可见宁波seo网络推广代理公司
  • 山东 网站备案九幺seo优化神器
  • 做网站的大公司都有哪些合肥seo快排扣费
  • 广州市学校网站建设公司seo谷歌
  • 长沙做旅游网站多少钱日照seo优化
  • 物流官方网站东莞网络优化公司
  • 石景山成都网站建设关键词seo
  • 弄淘宝招牌图什么网站可以做泰安做网站公司
  • 电商网站建设教程西安网站优化
  • 计算机培训机构培训出来好就业吗沧州搜索引擎优化
  • 建团购网站个人接外包的网站
  • 巩义企业网站托管服务商软文代写新闻稿
  • 香水网络营销策划方案seo怎么做?
  • bash做网站网络营销管理办法
  • 教育网站建站需求杭州seook优屏网络
  • 滑坡毕业设计代做网站优化快速排名公司
  • 刚做的单页网站怎么预览搜易网优化的效果如何
  • web网站开发用什么语言国外网站搭建