抽象数据类型定义3串的表示和实现4串的模式匹配本章学.pptVIP

抽象数据类型定义3串的表示和实现4串的模式匹配本章学.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容: 1.串的概念 2.串的抽象数据类型定义 3.串的表示和实现 4.串的模式匹配 本章学习目的和要求 1.掌握基本操作中的五种操作的实现 2.重点掌握串的模式匹配算法 第四章 串 第四章 串 4.1 串类型的定义 4.2 串的存储结构 4.3 串的模式匹配算法 4.1 串类型的定义 一、串的定义及基本术语 二、串抽象数据类型定义 定义:串(string)是 n ( ? 0 )个字符组成的有限序列, 记作: S = ”c1c2c3…cn” 例:S1=“Hello” S1是串名,“Hello”为串值,n=5 其中,ci 是串中字符 n 是串的长度   n=0 称空串”” 串名(串变量) 串值 注: 空串和空格串有区别, 空串””n=0(不含任何字符) 空格串” ” n?0 n=4 串值必用“”,否则 123 视为数,应为“123” ; abc 视为串名,应为“abc” 一、串的定义及基本术语 串中任意连续个字符组成的子序列称为该串的子串,该串相应的称为主串。 例:S=”This is a string.”  ”This”、 ”string” 、 ”is”  是S的子串,S是它们的主串。   当子串在主串中第一次出现时,把子串的第一个字符在主串中序号称为子串在主串中的位置。 1     11    3 空串是任意串的子串。任意串是其自身的子串。 两个串相等的充分必要条件是:   两个串长度相等,对应位置的字符相同。 一、串的定义及基本术语 ADT string { 数据对象: D={ai|1?i ? n, n ? 0, ai属char类型 数据关系: R1={ ai ,ai+1 | ai ,ai+1 ?D, i=1,2, …,n-1} 基本运算: StrCopy(T,S) StrEmpty(S) StrClear(S) StrIndex(S,T,pos) StrReplace(S,T,V) StrInsert(S,pos,T) StrDelete(S,pos,len) DestroyString(S) 二、抽象数据类型串的定义 StrAssign(T,chars) 串生成 StrCompare(S,T) 串比较 StrLength(S) 串长度 StrCat(T,S1,S2) 串连接 SubString(Sub,S,pos,len) 求子串 } 最小操作子集 例:由上述五个最小操作集实现StrIndex。 int StrIndex(string s,string t,int pos) {if(pos0) {n=StrLength(s);m=StrLength(t);i=pos; while(i=n-m+1) { SubString(sub,s,i,m); if(StrCompare(sub,t)!=0) ++i; else return i; } } return 0; } 二、抽象数据类型串的定义 4.2 串的存储结构 顺序串: S t r i n g typedef struct { char data[MaxSize]; /*串的存储空间*/ int len; /*当前串的长度*/ }SqString; 链串: S1 ? H e l l o 结点大小为1 结点大小为4 ? S2 G o o d m o r i n g ! 操作方便,特别是插入和删除操作,但存储密度太低。 存储密度相对高,但插入和删除操作效率太低。 4.2 串的存储结构 索引存储: 用于存储多个串 堆 s t

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档