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

青岛网站制作系统成品网站源码在线看

青岛网站制作系统,成品网站源码在线看,湖南省人民政府网站是谁做的,免费申请注册网站串 目录 串 一、串: 二、串的存储结构: 三、模式匹配 1.简单模式匹配(BF算法) 2.KMP算法 2.1-next(j)数组手工求解 2.2-nextval(j)数组手工求解 一、串: 内容受…


目录

一、串:

二、串的存储结构:

三、模式匹配

1.简单模式匹配(BF算法)

2.KMP算法

2.1-next(j)数组手工求解

2.2-nextval(j)数组手工求解



一、串:

内容受限的线性表,也就是相当于C语言里的字符串,只不过这里字符串从1开始存取。

此外串里包含子串,每个字串的第一个元素位置为该字串在串中的位置,每个串里面必有一个空串,此外,数串的时候,遇到重复的,只保留一个。

kmp算法就是根据相应的字串(模式串)取查找相应位置的操作,

串的长度,实际上为字符串长度。而数组长度为串的长度+1+1,从数组1开始存,因此+1,最后字符串结尾\'0’也要存。

二、串的存储结构:

静态顺序存储,就是定义一个固定长度的字符数组,再多一个记录个数的变量。

堆分配存储,就是动态数组,malloc一个空间,空间大小为sizeof(char)*(max+2);

块链存储:就是单链表的基础上,多了好多存储数据的变量,因此一块结点,好几个变量存进去。

串的基本操作:
SteCompare(S,T),就是C语言里的字符串比较,实际操作为:S-T,若结果小于0,则S<T,若结果大于0,则S大于T,S、T为字符串。

Concat(*T,S1,S2),给S2连接到S1后面,组成新的串,赋值给T串,返回。

SubStrin(*Sub,S,pos,len),返回串S中,第pos位置起,长度为len的字串

Index(S,T,Pos),模式匹配,S中第pos位置起,与字串T相等的串。并返回该串再S中出现的第一次的位置。

三、模式匹配

1.简单模式匹配(BF算法)

模式匹配,就是有一个字串(模式串),取对应的主串里,找与它一样的,并返回它在主串中的位置,

简单模式匹配,就是主串在上,模式串在下,动主串坐标,取挨个对比。

设i为记录主串的下标,j为模式串的下标,k则是记录每次回溯,比对的次数。

当i和j中的值都相等时,都往后移动,当不匹配时,则进行下标的更新,主串中的i,更新为i=k+1,即主串的i从左至右,挨个比对,第一个开始,比对失败,则第二个开始,重新比对。模式串则时更新为j=1,因为,每次重新比对,所以,模式串每次更新都是从1开始。

简单模式匹配算法为(m*n),主串长为m,模式串为n,因为最坏的情况,每次主串都要重新比对,所以为m,而每次比对,模式串都需要从头到尾重新遍历,所以m*n

2.KMP算法

        kmp时间复杂度为O(m+n),KMP算法主要是模式串下标动,更新,主串中的i会一直增加,不会出现回溯的现象。

2.1-next(j)数组手工求解

        在简单模式匹配的基础上,优化。即next(j)数组,是记录,每次模式串比对失败时,模式串下标的更新的起始值。如果模式串下标j==0,则i++,j++,即简单匹配操作,否则,主串不需要动,模式串下标更新动即可。

        而next(j)数组,怎么求嘞,next数组,就是给模式串每一个位置处,匹配失败,时,跟新的下标值都记录下来。所以手工怎么计算呢?

        分两部分,当第一个位置处时,j直接更新为0,因为第一个位置前,无数据,没法拿来进行找重复部分的长度。第二个位置时,则找第一个位置,然后错一位,进行比对,比对时,下面的那一串向右移动,直到比对完重复部分,之后重复部分长度+1,便是模式串下标所更新的值。

具体看讲义,不好画图

2.2-nextval(j)数组手工求解

        nextval数组,则是在,next的基础上,再优化。即,当next数组求的坐标的内容,与原来不匹配的坐标内容一致时,可直接,给nextval中,当前不匹配情况,与所求最新的,坐标相同即可。

具体看讲义,不好画图。

http://www.hengruixuexiao.com/news/20916.html

相关文章:

  • 为什么做网站要有自己的服务器百度竞价排名怎么收费
  • 企业做网站公司怎么做金华seo全网营销
  • 福州中小企业网站制作seo提高关键词
  • 青岛做网站的公司排名新郑网络推广
  • 济南市住房和城乡建设委员会官方网站做网站需要哪些技术
  • 极速网站制作百度关键词优化公司
  • 重庆建设委员会网站成都seo外包
  • 汉口网站建设 优帮云创建网站的流程是什么
  • 怎么申请 免费网站百度怎么推广广告
  • 教我做网站优化大师手机版
  • 福州交通建设投资集团网站针对百度关键词策划和seo的优化
  • 做一网站要学些什么软件百度一下子就知道了
  • 搭建什么网站能盈利企业网站有什么
  • 北京网站建设联系电话汕头seo外包公司
  • wordpress禁用头像佛山seo培训
  • 九江网站建设公司外贸b2b平台都有哪些网站
  • 高碑店地区网站建设百度公司招聘官网
  • 知乎 上海做网站的公司网站快速收录付费入口
  • 做网站日入100电商培训基地
  • 网站怎么做关键词在哪做东莞网站建设哪家公司好
  • 织梦wap模板自适应手机网站dedecms模板下载百度信息流广告代理
  • 大连疫情最新情况厦门关键词优化平台
  • 将wordpress网站变成app恩施seo整站优化哪家好
  • 用地方名字做网站西安网站关键词推广
  • WordPress站内跳转设置杭州seo关键词优化公司
  • 韩国风网站爱论坛
  • 做智能网站广告搜索引擎
  • 经营地址怎么在国税网站做更改网上互联网推广
  • 成都网络优化网站百度搜索推广的定义
  • 济南 网站制作seo运营人士揭秘