- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带状矩阵进行压缩存储时,只存储带状部分内部的元素,对于带状区域以外的元素,即|i-j|b的aij,均不分配存储空间。为了方便起见,我们规定按如下方法进行存储:除第一行和最后一行外,每行都分配2b+1个元素的空间,将带状区域中的元素存储于((2b+1) n-2b)×L个存储单元之中,其中L为每个元素占用空间的大小。仍考虑采用按行优先的存储方式,于是可以得到带状区域中任何一个元素aij的地址计算公式为:address(aij)=address(a00)+((i×(2b+1)-b)+(j-i+b))×L = address(a00)+ (i×(2b+1)+ j-i )×L (当|i-j|≤b时) 如果一个矩阵中很多元素的值为零,即零元素的个数远远大于非零元素的个数时,称该矩阵为稀疏矩阵。4.5.1 稀疏矩阵类的定义 ADT spmatrix { 数据对象D:具有相同类型的数据元素构成的有限集合; 数据关系R:D中的每个元素均位于2个向量中,每个元素最多具有2个前驱结点和2个后继结点,且D中零元素的个数远远大于非零元素的个数。 稀疏矩阵的基本运算如下: (1)createspmatrix (A) 创建一个稀疏矩阵A; 4.5 稀疏矩阵 (2)compressmatrix (A,B) 创建稀疏矩阵A的压缩存储表示B; (3)destroyspmatrix (A) 销毁稀疏矩阵A; (4)printspmatrix (A) 将已知稀疏矩阵A,将A复制到B中; (5)copyspmatrix(A,B) 将A复制到B (6)addspmatrix (A,B,C) 已知稀疏矩阵A和B,且两者的行数和列数对应相等,求A和B相加的结果放入C中; (7)subspmatrix (A,B,C) 已知稀疏矩阵A和B,且两者的行数和列数对应相等,求A和B相减的结果放入C中; (8)multspmatrix (A,B,C) 已知稀疏矩阵A和B,且A的列数等于B的行数,求A和B相乘的结果放入C中; 反之,若模式串中存在满足(1-3)的两个子串,则当匹配过程中,主串中第i个字符与模式串第j个字符比较不相等时,仅需将模式串向右滑至模式串第k个字符和主串中第i个字符对齐,此时,模式串中头k个字符“t0t1…tk-1”必定与主串中第i个字符之前的长度为k的子串“si-k si-k+1…si-1”相等。 由此,匹配仅需从模式串中第k个字符与主串中第i个字符继续进行。 令next[j]=k,则next[j]表明当模式串中第j个字符与主串中相应字符“失配”时,在模式串中需重新和主串中该字符进行比较的字符的位置。 Next[j]= -1 当j==0时 Max{k|0kj 且“t0…tk-1”==“tj-k…tj-1”} 0 其它情况 j 0 1 2 3 4 5 6 7 模式串 a b a a b c a c Next[j] -1 0 0 1 1 2 0 1 注意:next[j]的含义是理解KMP算法的关键。 在求得模式串的next函数之后,匹配可如下进行:假设以指针i和j分别指示主串和模式串中正待比较的字符,令i、j的初值为0,若在匹配过程中si==tj,则i与j分别加1,否则i不变,而j退到next[j]的位置再比较,若相等,则指针各自增加1,否则j再退到下一个next[j]值的位置,依此类推,直至下列两种可能: 一种是退到某个next值(next[..next[j]]..])时字符比较相等,则指针各自增加1继续进行匹配; 另一种是j退到-1(即模式的第一个字符“失配”),则此时,需将主串继续向右滑动一个位置,即从主串的下一个字符Si+1起和模式串重新开始匹配。 以下给出顺序存储结构下的KMP算法。 # define maxsize 100 typedef struct{ char str[maxsize]; int length ; } seqstring; 顺序串存储结构 int kmp(seqstring t,seqstring p,int next[]) {int i=0,j=0; while (it.length jp.length) { if(j==-1||t.str[i]==p.str[j]
您可能关注的文档
- 数据分析方法及应用──基于SPSS和EXCEL环境 (2).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (3).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (4).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (5).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (6).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (7).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (8).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (9).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (13).ppt
- 数据分析方法及应用──基于SPSS和EXCEL环境 (14).ppt
最近下载
- 苏州联控LNC820 860用户手册.pdf
- 汽修厂空气压缩机安全操作规程.docx VIP
- 汽车底盘异响故障诊断方法.pptx VIP
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)解读.pptx
- 【沪教版】一年级上册数学试题-20以内加减法 (1).doc VIP
- 卫星遥感数据的云及云阴影检测-孙林老师.pdf VIP
- 国家教育考试标准化考点建设规划及实施方案编制培训.ppt VIP
- 22MR601 城市道路—交通标志和标线.pdf VIP
- 2025年六年级上册数学试题-第二单元测试卷-西师大版(含答案) .pdf VIP
- 2024年高考化学二轮复习专题10 水溶液中的离子反应与平衡(讲义) .docx
文档评论(0)