- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 串、矩阵和广义表;目录;总体要求;4.1 串及其运算;4.1.2 串的基本操作;子串:由串中任意个连续的字符组成的子序列。 ;串复制:将某个串复制给当前串
串连接:将串S1和S2联接而成一个新串
串替换:用子串x替换当前串中的子串y
插入子串:将子串插到当前串中的某个位置
删除子串:从当前串中删除指定子串
大写转小写:将串中的大写字母转化为对应小写字符
小写转大写:将串中的小写字母转化为对应大写字符
串压缩:将当前串中首部和尾部的所有空格删除;4.2 串的顺序存储与实现;4.2.2 串的实现;;【算法4-2】串比较;【算法4-3】串连接;【算法4-4】求子串;【算法4-5】复制串; 4.3.2 模式匹配;又如当前串S = “ababcabcacbab”,子串t = “abcac”,则串的模式匹配操作如下图所示:;【算法4-6】串的模式匹配算法;最好情况:不成功的匹配都发生在串t的第一个字符;最坏情况:不成功的匹配都发生在串t的最后一个字符;为什么简单匹配算法时间性能低?
在每趟匹配不成功时存在大量回溯,没有利用已经部分匹配的结果。
如何在匹配不成功时主串不回溯?
主串不回溯,模式就需要向右滑动一段距离。
如何确定模式的滑动距离?;KMP算法;4.3 矩阵;可将n2个元素压缩存储到n×(n+1)/2个元素的空间中。按行优先存储到数组SA[k]中,此时,A11存入SA0,A21存入SA1,A22存入SA2,……,Aij存入SAk。SAK与Aij的对应关系为:;;;4.3.2 稀疏矩阵;稀疏矩阵的压缩存储;class Triple //定义三元组
{
public int x;
public int y;
private double value;
public Triple(int x, int y, double data)
{
this.x = x; this.y = y;
this.value = data;
}
public double getData()
{ return value; }
};class SparseMatrix //定义稀疏矩阵
{
public Triple[] datas; //三元组表
public SparseMatrix(int rows,int cols, int length)
{
if(length1){
datas = new Triple[1]; datas[0] = new Triple(0,0,0);
}
else{
datas = new Triple[length+1];
datas[0] = new Triple(rows,cols,length);
}
}
};4.4 广义表;(1) A=( ) ;广义表的性质 ;广义表可以为其他广义表共享;如:广义表 D 就共享表 A、B、C。在 D中不必列出 A、B、C的值,而是通过名称来引用。 ;广义表是多层次??构,广义表的元素可以是单元素,
也可以是子表,而子表的元素还可以是子表,…。
可以用图形象地表示。 ;4.4.2 广义表的存储结构及实现;如 LS=(a,(x,y),((z))),其存储结构如下图所示:;4.5 串的应用:文本编辑;把页、段和行看作文本的子串并建立页表和段表来辅助各子串的操作,从而实现文本处理。;class Paragraph
{
public int id; //自然段编号
public int pageid; //该自然段所属页的编号
public int start; //该段首字符在串中的编号
public int end; //该段末字符在串中的编号
public int length; //本自然段的字符个数
public Paragraph next; //下一自然段的指针
public Paragraph(int id,int page, int start)
{
this.id = id; this.pageid = page;
this.start = start; this.end = start;
this.length=0;
}
};class Text
{
public string contents; //由字符序列组成的串
public int length; //文本的总长度
public int pages; //页数
public int paras;
您可能关注的文档
最近下载
- 全国乙卷2023高考语文试题及答案解析.doc VIP
- 管理体系审核员注册准则(2021.4.1实施).docx
- 厦门建设工程文明施工与安全防护图集【厦门2018】.pdf
- 微课设计与制作.ppt VIP
- 指数研究与指数化投资系列:历久弥新、持续迭代的中信证券指数体系.pdf
- 指向学科核心素养的大单元语文教学(专题讲座).pptx
- 部编人教版2024年中考历史模拟试卷及答案(含三套题).doc VIP
- GB_T 27930-2023_新能源充电新标准.pdf
- 2024年上海市初三中考物理冲刺复习专题01 常见的力含详解.docx VIP
- 2024年中医妇科学(副高)考试历年核心考点试题附带答案.docx VIP
文档评论(0)