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

郑州网站建设时一定需要注意的六点广州公司营销型网站建设

郑州网站建设时一定需要注意的六点,广州公司营销型网站建设,如何做一个手机网站,手机网站前端模板下载什么是kmp算法 1.kmp算法是一种改进的字符串算法,其核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数已达到快速匹配的目的。 它主要实现作用的是 在 (主串)中找到 (匹配)字符串。 例 BF算法与k…

在这里插入图片描述

什么是kmp算法

1.kmp算法是一种改进的字符串算法,其核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数已达到快速匹配的目的。
它主要实现作用的是 在 (主串)中找到 (匹配)字符串

在这里插入图片描述

BF算法与kmp算法的差别

bf算法如下所示 从首元素字符开始依次比较 ,如果相同则比较下一位元素,如果匹配失败 ,匹配字符串从头开始 ,主串从第二个字符开始比较,直到主字符串全部匹配完。如果匹配成功返回主字符串中第一次出现匹配字符串的位置。

在这里插入图片描述
在这里插入图片描述

kmp算法如下所示,kmp与bf不一样的地方在于:主串的所指向的字符不会后退,匹配串中所指向的也不会移动到首字符位置

在这里插入图片描述

在这里插入图片描述

kmp的回退规则,next数组的介绍

目的是使 指向主串字符不会回退 ,匹配串回退到一个特定位置
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这就是next数组的来源
规定next[0]=-1 next[1]=0
在这里插入图片描述

回退前提 : p[i] == p[k] 则 p[i] == p[k] next[i+1] == k+1 ,如果 p[i] != p[k] 则 next[k] != k, k==next[k] ,一直回退直到p[i] == p[k]

p[i] == p[k] 如下
在这里插入图片描述
p[i] != p[k]如下

在这里插入图片描述

kmp算法代码实现(C语言版)

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
void GetNext(char*sub, int* next ,int LenSub)
{next[0] = -1;next[1] = 0;int k = 0;int i = 2;while(i < LenSub){if (k == -1 || sub[i - 1] == sub[k]){next[i] = k + 1;i++;k++;}else{k = next[k];}}
}
int KMP(char* str, char* sub, int pos)
{assert(str  && sub );int LenStr = strlen(str);int LenSub = strlen(sub);if (LenStr == 0 || LenSub == 0)return -1;if (pos < 0 || pos >= LenStr)return -1;int* next = (int*)malloc(sizeof(int) * LenSub);assert(next);GetNext(sub, next,LenSub);int i = pos;//主串int j = 0;//字串while (i < LenStr && j < LenSub){if (j == -1 || str[i] == sub[j]){i++;j++;}else{j = next[j];}}if (j >= LenSub)return i - j;return -1;
}int main()
{printf("%d", KMP("ababcabcdabcde", "abcd", 0));return 0;
}

在这里插入图片描述

http://www.yayakq.cn/news/413652/

相关文章:

  • 创意设计师个人网站深圳高端家政服务公司
  • 交换链接营销成功案例十堰seo优化
  • 海南网站建设公司网站开发 保证书
  • wordpress网站加载效果用frontpage怎么做网页
  • 医院网站建设案例网站建设公司的出路
  • 可以做免费推广的网站吗门户网站静态页面
  • 营销型网站设计论文网站 ip pv
  • 最好的国际贸易网站那个网站点击率高
  • 建站大师英语网站海报手抄报怎么做
  • 注册公司是在哪个网站如何给一个网站做推广
  • 零基础jsp网站开发window wordpress搭建
  • 静态网站建设步骤临淄网站制作
  • 宁波企业网站优化报价响应式网站背景
  • mooc 网站建设情况陕西省高速建设集团公司网站
  • 电子商城网站开发合同设计公司网站是什么是重要的
  • 扬州网站建设要多少钱wordpress 兼容模式
  • 上海网安网站建设网页设计制作员
  • 网站如何做反爬高校网站一般采用什么网页布局
  • 有空间有域名怎么做网站怎么开网店商城
  • 广西南宁市住房和城乡建设局网站网站企业优化
  • 网站建设 系统 排名技能培训学校
  • 哪有做网站 的网络营销与直播电商就业前景
  • 做最漂亮的网站湖北微网站建设电话
  • 做网站要运用到代码吗公司怎么建立网站
  • 做写字楼的网站有哪些资料它有什么特点
  • 石家庄站列车时刻表北京给网站做系统的公司
  • 网站大小多少合适水果商城网站模板
  • 男女性男女直接做的视频网站音乐盒网站源码
  • app推广策划方案上海做网站就用乐云seo十年
  • 招聘做网站的需要技术哪些要求网站深度功能