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

网站制作开发策划优化网站排名茂名厂商

网站制作开发策划,优化网站排名茂名厂商,长春建网站,本地人才招聘网KMP算法与BF算法不一样的在于,当主串与子串不匹配时,主串不回溯,选择了子串回溯,大大提高了运算效率。 借用了next1【】数组,让子串回溯。get_next函数求next1【】数组,get_next函数的实现难点在于下列几行…

       KMP算法与BF算法不一样的在于,当主串与子串不匹配时,主串不回溯,选择了子串回溯,大大提高了运算效率。

       借用了next1【】数组,让子串回溯。get_next函数求next1【】数组,get_next函数的实现难点在于下列几行代码:

while (i < T.length)
    {
        if (j == 0 || T.ch[i] == T.ch[j])
        {
            ++i,  ++j;
            next1[i] = j;
        }
        else
            j = next1[j];
    }

         只要明确两点就容易理解:

1、Tj == Tnext[j],那么next[j+1]的最大值为next[j]+1。

2、Tj != Tnext[j],那么next[j+1]可能的次最大值为next[ next[j] ]+1,以此类推即可求出next[j+1]。

#include<iostream>
#include<string>
using namespace std;
int next1[1000];
typedef struct node
{char ch[251];int length=0;//串当前长度
}SString;
void get_next(SString T)
{int i = 1;//当前串正在匹配字符串位置,也是next数组的索引next1[1] = 0;int j = 0;while (i < T.length){if (j == 0 || T.ch[i] == T.ch[j]){++i;++j;next1[i] = j;}elsej = next1[j];}
}
int Index_KMP(SString S, SString T, int pos)//S主串,T子串,pos从主串pos位置开始匹配
{int i = pos, j = 1;//i为主串下标,j为子串下标while (i <= S.length && j <= T.length){if (S.ch[i] == T.ch[j])//匹配,往下继续{i++;j++;}elsej=next1[j];}if (j >= T.length) return i - T.length;//返回主串与子串匹配时,主串的第一个下标else return 0;
}
int main()
{SString  s;SString  t;cout << "输入主串长度:" ;cin >> s.length;cout << endl;cout << "输入子串长度:";cin >> t.length;cout << endl << "输入主串:";for (int i = 1; i <= s.length; i++)//从下标1开始储存{cin >> s.ch[i];}cout << endl << "输入子串:";for (int i = 1; i <= t.length; i++){cin >> t.ch[i];}get_next(t);int a = Index_KMP(s, t, 1);cout <<endl<< a;
}

http://www.ds6.com.cn/news/113250.html

相关文章:

  • 腾讯云 个人网站青岛网络科技公司排名
  • 如何注册自己的网站陕西优化疫情防控措施
  • 厦门的服装商城网站建设国际购物网站平台有哪些
  • 上海哪里可以做网站杭州seo工作室
  • 网站建设服务协议 百度免费b2b平台推广
  • wordpress 开启https南宁网站seo
  • 旅游投资公司网站建设ppt模板seo关键词排名优化品牌
  • wordpress主题module破解版百度关键词优化师
  • 建站一条龙设计制作中囯军事网
  • 企业做网站可以带中国吗谷歌官方网站登录入口
  • wordpress评论回复插件宁阳网站seo推广
  • 奇迹私服做网站肇庆seo
  • 个人网站建设方案实施网站排名优化的技巧
  • 利用黑群晖做网站网址收录
  • 模板网站建设哪家好优化电池充电什么意思
  • 福州网站建设H5成免费crm软件有哪些优点
  • 潮州移动网站建设哈市今日头条最新
  • 企业营销类专业网站seo排名优化推荐
  • 旧电脑怎么做网站网站外链平台
  • 政府网站改版方案武汉关键词排名提升
  • 郑州 网站建设百度网盘官网入口
  • 中山建网站找哪家济南头条新闻热点
  • 在线制作pptseo诊断工具
  • 重庆比较好的广告公司网站google搜索优化
  • 项目推广渠道有哪些北京seo公司有哪些
  • 网站更新维护搜索引擎大全网址
  • 网站估价百度seo分析工具
  • 宁波做网站定制网络营销战略有什么用
  • 去哪找网站建设公司网站域名费一年多少钱
  • 网站建设项目推进表网络推广平台网站推广