数据结构宗大华宗杰黄芳数据结构大本课件-4课件教学.pptVIP

数据结构宗大华宗杰黄芳数据结构大本课件-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文档。上传文档
查看更多
第4章 串、数组、矩阵、广义表 4.1 串与串的存储实现 4.1.2 4.1.3 4.2 串的模式匹配 4.3 数组 4.4 特殊矩阵及稀疏矩阵 4.4.1 特殊矩阵 4.4.2 稀疏矩阵 4.5 广义表 4.5.1 广义表的定义和性质 4.5.2 广义表的存储结构 4.5.3 广义表基本操作的实现 有主串和模式串如下所示。求模式串p的next数组和nextval数组。 算法4-16 求模式串p的nextval数组值的算法 Getnextval_St(p, nextval[ ]) { nexvalt[0]=-1; i=0; k=-1; while(ip_len-1) { while(k=0 p[i]!=p[k]) 主串: a b c a a b b a b c a b a a c b a c b a 模式串: a b c a b i=4 j=4 第1趟: 主串: a b c a a b b a b c a b a a c b a c b a 模式串: a b c a b i=6 j=2 第2趟: 主串: a b c a a b b a b c a b a a c b a c b a 模式串: a b c a b i=6 j=0 第3趟: 主串: a b c a a b b a b c a b a a c b a c b a 模式串: a b c a b i=14 j=7 第4趟: 改为 i=4 j=nextval[4]=0 失败 改为 i=6 j=nextval[2]=0 失败 改为 i=6 j=nextval[0]=-1 失败 改为 i=i+1=7 j=j+1=0 返回7 成功 k=nextval[k]; i++; k++; if(p[i]==p[k]) nextval[i]=nextval[k]; else nextval[i]=k; } } 例4-9 解: j 0 1 2 3 4 5 6 p a b c a b a a next[j] -1 0 0 0 1 2 1 nextval[j] -1 0 0 -1 0 2 1 所求如下表所示。 所谓“数组”,是指n(n1)个具有相同类型的数据的有序集合。数组中的每一个数据,称为一个数组元素。数组中的不同元素,用下标加以区分。 4.3.1 数组简介 . 数组的概念 1. . 只用一个下标来区分元素的数组,称为“一维数组”;用两个下标来区分元素的数组,称为“二维数组”;用多个下标来区分元素的数组,称为“多维数组”。一个m行n列(记为m?n)的二维数组A[m][n] 如右图表示。 a11 a12 a13 a1n a21 a22 a23 a2n am1 am2 am3 amn 第1行 第2行 第m行 第1列 第2列 第n列 A[m][n]= 数组与线性表 2. . 若把二维数组的每一行视为一个整体,用R1=(a11,a12,…,a1n)?表示第1行,用R2=(a21,a22,…,a2n)?表示第2行,……,用Rm=(am1,am2,…,amn)?表示第m行,那么就可把二维数组A[m][n]写成: A[m][n] =?(R1,R2,…,Rm) 于是,二维数组A[m][n]可看作是以R1,R2,…,Rm为数据元素的一个一维数组,其中的每一个数组元素Ri(1≤i≤m)?都是一个一维数组。 . . 若把二维数组的每一列视为一个整体,用C1=?(a11,a21,…,am1)?表示第1列,用C2=?(a12,

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档