版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题四参考答案一、选择题1. 下面关于串的叙述中,哪一个是不正确的(B )A. 串是字符的有限序列B. 空串是由空格构成的串C. 模式匹配是串的一种重要运算D. 串既可以釆用顾序存储,也可以采用链式存储2. 串的长度是指(A )A. 串中包含的字符个数B.串中包含的不同字符个数C.串中除空格以外的字符个数D.串中包含的不同字母个数3. 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为(C )A.求子串B.联接C.模式匹配D.求串长4. 设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是(C )。5.A. 0(m) B. O(n)串也是一种线性表,只不过(
2、AA.数据元素均为字符C.数据元素数据类型不受限制6.设有一个10阶的对称矩阵A,C. 0(n + m)D. O(nXm)B.数据元素是子串D.表长受到限制采用压缩存储方式,以行序为主进行存储,皿为第一元素,其存储地址为1,每个元素占一个地址空间,则加的地址为(B )0A. 13B. 33C. 18D. 407.有一个二维数组AE1.6, 0.7,每个数组元素用相邻的6个字节存储,存储器 按字节编址,那么这个数组占用的存储空间大小是(D )个字节。A. 48B. 96C. 252D. 288&设有数组AC1.8,1.10,数组的每个元素占3字节,数组从内存首地址BA开始 以列序为主序顺序存放,
3、则数组元素A5, 8的存储首地址为(B )。A. BA+141 B. BA+180 C. BA+222 D. BA+2259. 稀疏矩阵的三元组存储表示方法(B )A. 实现转置操作很简单,只需将每个三元组中行下标和列下标交换即可B. 矩阵的非零元素个数和位置在操作过程中变化不大时较有效C. 是一种链式存储方法D. 比十字链表更高效10. 用十字链表表示一个稀疏矩阵,每个非零元素一般用一个含有(A )域的结点表ZP* OB.4C. 3D. 2二、填空题1. 一个串的任意连续字符组成的子序列称为串的子串,该串称为主O2. 串长度为0的串称为 空串,只包含空格的串称为 空格串 3. 若两个串的长度
4、相等且对应位置上的字符也相等,则称两个串相等。4. 寻找子串在主串中的位置,称为模式匹配其中,子串又称为 模式串。5. 模式串t二ababaab的next 数组值为 T001231, nextval 数组值为 -10-10-130 _6. 设数组AC1.5,1.6的基地址为1000,每个元素占5个存储单元,若以行序为主序顺序存储,则元素A5, 5的存储地址为11407. 在稀疏矩阵的三元组顺序表存储结构中,除表示非零元的三元组表以外,还需要表示矩阵的行数、列数和非零元个数。8. 一个nXn的对称矩阵,如果以相同的元素只存储一次的原则进行压缩存储,贝IJ其元素压缩后所需的存储容量为n(n+l)/
5、2。9. 对矩阵压缩的目的是为了节省存储空间。10. 稀疏矩阵一般采用的压缩存储方法有两种,即三元组和十字链表 。三、算法设计题1.编写基于SeqString类的成员函数count 0,统计当前字符串中的单词个数。 参考答案:public int count 0 int wordcount = 0; ength; j+) if (artiJ j arm n) n = j;for (j = 0; j arm n) flag = 0;ength, suml = 0, sum2 = 0, sum;for (i = 0; i ; i+) suml += aiil;在顺序串类SeqString中增加一个
6、主函数,测试各成员函数的正确性。参考答案:package chO4Exercise;import ;public class Exercise4_4_l extends SeqString!public static void main(String args) chart chararray = f * o9,,r,, 1 T ,,d;SeqStringnewSeqString0; IExI貢 C:WINDOWSsystm32cmd$ s1=, s2=Hello, s3=World車在第0个字符前擂入亭s2卮,si =Hello串“在第1个字符前插入串&3后,si =HUorldello 串
7、兮1删隊第1剖第3个字符后,s1=Hldello串Z中从第2到第5个字符组成的子串是:dell2J已知两个稀疏矩阵A和B,试基于三元组顺序表或十字链表的存储结构,编程实现A+B的运 算。参考答案:package chO4Exercise;import ;public class Exercise4_4_2 public static SparseMatrix addSMatTix(SparseMatrix a, SparseMatrix b) etRowO setRowO i getRowO);0 k setValue0 i. getValue() + (+k);etColumnO etCol
8、umn 0 i getColumn 0);0 k. setRow0 i. getRowO);0 k. setValue0i. getValue 0); (+k);i+; elseetColumnO j. getColumnO);0 kJ. setRowO jJ. getRowO);0 k. setValue0 j. getValue 0); (+k);j+; else if 0 i. getRowO etColumnO j. getColumn0);0 Ek setRowO j. getRowO); 0k. setValue0j. getValue0);(+k);j卄;0 i. getColu
9、mnO0 j. getValue0);0 j getColumnO)0 jl. getColumnO)0 j getRow 0)while (i 0) etColumnO i. getColumnO): 0 k. setRowO i. gctRow0);0 k. setValue0 i. getValue0);(+k);while (j 0) 0 k. setColumn0 j. getColumn0);0 k. setRowO j. getRowO);0 k. setValueO j. getValue0);(+k);j+;return c;public static void main(S
10、tring args) int matrixAd = 3, 0, 0, 7, 0, 0, -1, 0, 2, 0, 0, 0, (0, 0, 0, 0, 0, 0, 0, -8);int matrixB = -3, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 2,0, 0, 0, 0, 0, 0);SparseMatrix tsml = new SparseMatrix(matrixA);SparseMatrix tsm2 = new SparseMatrix(matrixB);矩阵AO;0;矩阵B:);0;SparseMatrix matrixSum = addS
11、Matrix(tsml, tsm2);矩阵A+矩阵B:);0;”);运行结果:灵 C:WINDOWSsystem32cmd.exe阵5,的歹 列 03203三元W: 下标组存元37-12-8结 值构 元素个数:5阵5,的歹 列 00二兀下标组存元-31储 非 素结值构 元个数:4矩 阵0,01阵 的歹 列3B:二兀下标组032存元7储 非 素结值构 元个数:6a矩标 阵疏数下 矩稀示行0 0 12 4B:矩标 阵疏数下 矩稀行行0 12 3A+矩标 阵疏数下 矩肅f行-152-80 2 0 13o 1 1 2 3 Hi3.基于十字链表类CrossList ,设计插入非零元素结点的成员函数 in
12、sert (row, col, val),并编程测试参考答案:package chO4Exercise;import ;import ;public class Exeixise4_4_3 extends CrossListpublic Exercise4_4_3 (int row, int col)super (row, col);)Overridepublic void Insert(int row, int col, int e)g C:WINDOWSsystem32cmd.exe匚P区原稀疏矩阵0 0 0 0 50 0 0 0 00 0 2 0 00 0 0 8 0在1行2列插入元素3
13、后的稀疏矩阵0 3 0 0 50 0 0 0 00 0 2 0 00 0 0 8 01/编写程序实现以三元组形式输出用十字链表表示的稀疏矩阵中的非零元素及其下标。 参考答案:package chO4Exercise;import ;import ;public class Exercise4_4_4 extends CrossList public Exercise4_4_4(int row, int col) 构造方法 super (row, col);Overridepublic void printByTripleO /按照三元组形式输出稀疏矩阵 if (getTuO = 0) 该矩阵为
14、0矩阵);return;行列值);for (int i = 0; i getMuO : i+) OLNode rtemp = getRheadO i;rtemp = 0;for (int j = 0; j getNu(); j+) if (rtemp != null &()=i + l&()=j + l) + + ()+ +();rtemp = 0;public static void main(String args) int temp = 0, 0, 0, 0, 5, (0, 0, 0, 0, 0, 0, 0, 2, 0, 0), 0, 0, o, & 0);int row = 4;int col = 5;Exercise4_4_4 cl = new Exercise4_4_4 (row, col);/构造十字链表for (int i =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年水泥买卖合同(含合同变更和补充条款)
- 2024年度绿色建筑设计与施工合作协议书3篇
- 学困生转化工作计划
- 小学校本教研活动计划
- 电话销售业务员工作计划
- 劳动合同样板
- 公司员工自我鉴定
- 制定护士的年度工作计划
- 政府公共关系(第二版)课件 第6章 政府的公众对象与舆论环境
- 经典国学教学计划
- GB/T 43575-2023区块链和分布式记账技术系统测试规范
- 小儿肺炎的病例讨论
- 校园教职工思想动态和现实表现动态评估
- 《气体灭火系统》课件
- 黑龙江省鸡西市2023-2024学年八年级上学期第二次质量监测道德与法治试题
- 2022年高考天津语文高考试题及答案
- 2022-2023学年下学期人教版八年级英语Unit8 现在完成时导学案(word版)
- JCT908-2013 人造石的标准
- 礼品申请领用表
- 开工报告、暂停令格式
- 无人机与人工智能结合的应用
评论
0/150
提交评论