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

青岛网站制作系统网站优化建设

青岛网站制作系统,网站优化建设,wordpress营销插件,惠州做网站乐云seo串 目录 串 一、串: 二、串的存储结构: 三、模式匹配 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/51373.html

相关文章:

  • 镇江网站建设远航科技seo关键词排名优化app
  • 学做网站有用吗怎么上百度搜索
  • 城乡和住房建设部证书信息网武汉官网优化公司
  • 什么网站可以做注册任务网站推广的工作内容
  • 建设银行官方网站首页app推广接单平台
  • 外贸网站如何做推广网页设计制作网站html代码大全
  • 计算机作业做网站整站seo外包
  • 高级网站设计有哪些平台可以免费发广告
  • 做视频导航网站免费网站大全下载
  • 阿里云做网站需要些什么百度搜索关键词优化方法
  • vultr 搭建wordpressseo关键字排名
  • 佛山营销型网站搭建北京seo优化技术
  • 做信息分类网站难吗seo网站
  • 增城百度做网站多少钱产品市场调研怎么做
  • 上海网站建设小程序开发山东网络推广网站
  • 企业网站用哪个cms好要怎么做网络推广
  • docker实际企业解决方案互联网优化
  • 找手工活带回家做的找工作哪个网站最靠谱江门关键词优化公司
  • 中国十大建筑集团合肥网络优化推广公司
  • 做旅游网站的项目背景seo没什么作用了
  • 建一个国外的网站找网站公司制作网站
  • 东莞网站设计每日新闻摘抄10一30字
  • 网站后台编辑器编辑内容无法显示重庆公司网站seo
  • 建设企业网站支票打印软件百度官方网站入口
  • 网上电影网站怎么做的台州网站建设方案推广
  • javaweb网站开发方法2023年免费b站推广大全
  • 卢沟桥网站建设色盲测试图数字
  • 日本人真人做真爱的免费网站无限看百度网站大全
  • 拓客最有效方案zac seo博客
  • 网络工程师培训班哪里太原网站快速排名优化