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

高埗镇网站建设公司六安人论坛招聘网

高埗镇网站建设公司,六安人论坛招聘网,仓储设备东莞网站建设,斗鱼企业网站建设的目的目录 一.特点 二.算法思想 三.公式证明 四.next数组及其练习 五.找规律计算next[k] 六.代码实现 一.特点 BF算法的特点是i回退#xff0c;KMP算法的最大特点是i不回退#xff0c;由于i不回退#xff0c;所以KMP算法的时间复杂度是O(nm)。 二.算法思想 在匹配主串和子…目录 一.特点 二.算法思想 三.公式证明 四.next数组及其练习 五.找规律计算next[k] 六.代码实现 一.特点 BF算法的特点是i回退KMP算法的最大特点是i不回退由于i不回退所以KMP算法的时间复杂度是O(nm)。 二.算法思想 在匹配主串和子串时i指向主串j指向子串字符相等则i,j同时加1当字符失配时i不回退j退到k的位置相当必然有一段相同的路那么相同的路i不走等着j走过来即可即相等的路j走过一段k长度的路。 三.公式证明 结论 在匹配成功的子串中找到两个最长的相等的真子串这两个子串满足如下特点 一个串以子串的开头作为开头。另一个串以失配前的最后一个字符作为结尾()。k正是子串的长度。 四.next数组及其练习 我们把所有位置的k值给保存在数组中这个数组就是next数组。 1. 2. 3. 4. 五.找规律计算next[k] 例子“abcabcdabcdabcdeabc” 不妨假设next[j]k; 已知next[1]0,next[0]-1; 由next[j]k,得到  (1) 如果   (2) (1)(2) 得到next[j1]k1; 如图k3 如果 又变成了一个模式匹配的问题那么knext[k];如图knext[3]0; KMP最大特点是指示主串的指针不需要回溯整个匹配过程中对主串仅需从头到尾扫描一遍这对处理从外设输入的庞大文件很有效可以边读入边匹配而无需回头重读。 六.代码实现 static int* GetNext(const char* str) {int len strlen(str);int* next (int*)malloc(sizeof(int) * len);next[0] -1;//不能再退next[1] 0;//j1,k0;int j 1;int k 0;while (j1 len){if ((k-1)||str[k] str[j]){next[j] k;/*next[j 1] k 1;j 1;k 1;*/}else{k next[k];}}return next; }int KMP(const char* str, const char* sub, int pos) {assert(str ! NULL sub ! NULL);if (str NULL || sub NULL || pos0 || posstrlen(str))return -1;int i pos;int j 0;int lenstr strlen(str);int lensub strlen(sub);int* nextGetNext(sub);//while (str[i] ! \0 sub[j] ! \0)while (i lenstr j lensub){if ((j-1)||str[i] sub[j]){i;j;}else{//i不回退j next[j];}}free(next);//判断是否查找成功利用子串是否遍历完成来判断是否查找成功//if (sub[j] \0)if (j lensub)return i - j;elsereturn -1; }int main() {const char* str1 ababcabcdabcde;const char* str2 abcd;printf(%d\n, KMP(str1, str2, 0));printf(%d\n, KMP(str1, str2, 6));printf(%d\n, KMP(str1, str2, 10));return 0; }
http://www.pierceye.com/news/524429/

相关文章:

  • 网站获取访问者qqwordpress网站布置视频
  • 南宁怎么做seo团队网站排名优化培训电话
  • 做百科权威网站有哪些开发网站访问流量赚钱
  • 网站建设论坛快速建站可以做网站的路由器
  • 网站首页没排名但内页有排名建设网站招标
  • 网站公司做网站修改会收费吗设计logo网站免费无水印
  • 东营市做网站优化视频拍摄剪辑培训
  • 南通百度网站快速优化运城小程序开发公司
  • 做一个综合商城网站多少钱网站建设运营必备人员
  • 聊城做wap网站公司手机网站设计教育类模板
  • 深圳做网站的人做微信投票的网站5
  • 靖安建设局网站WordPress使用云数据库
  • h5制作哪个网站好济南php网站开发
  • 深圳网站建设类公司最大的网站开发公司
  • ps做图游戏下载网站有哪些内容百度ip地址
  • 网站到期续费吗网站首页缩略图 seo
  • 网站制作案例 立邦建立个人网站能赚钱吗
  • 重庆巨能建设集团网站网站seo置顶 乐云践新专家
  • 专业制作网站 上海黑糖 wordpress 主题
  • 数据库网站开发卡片风格网站
  • 信息发布平台建站网站服务器天付
  • 免费做网站方法北京公司排名seo
  • 网站备案登记表晋城市建设局 网站
  • 网站备案会检查空间运营策划
  • 关于做网站建筑人力网
  • 网站开发培训合肥企业解决方案工作组
  • 怎么看待网站开发做网站好赚钱
  • 网站开发工作方案建设网站用什么软件排版
  • 网站建设耂首先金手指建设一个电商网站需要多少钱
  • 网站建设需注意的企业网站建设好的例子