数据结构-甘肃广播电视大学.PPT

  1. 1、本文档共227页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-甘肃广播电视大学

Void transmatrix(tripletable a,tripletable b) { int p q col; b.m=a.n; b.n=a.m; b.t=a.t; if(b.t=0) printf(“A=0\n”); q=0; for(col=1;col=a.n;col++) for(p=0;p=a.t;p++) if(a.data[p].j==col){ b.data[q].i=a.data[p].j; b.data[q].j=a.data[p].i; b.data[q].v=a.data[p].v; q++; } } 其算法段为: for(i=0;i=n-m;i++){ if(S[i..i+m-1]=T[0..m-1] return i; 下面以第二种定长的顺序串类型作为存储结构,给出具体的串匹配算法。 int index(sstring s,sstring t,int pos){ int i,j,k; int m=s.length; int n=t.length; for(i=0;i=n-m;i++){ j=0;k=i; while(jm s.ch[k]==t.ch[j]{ k++;j++; } if(j==m) return i; } return –1; } 显然,该算法在最坏情况下的时间复杂度为O((n-m)m)。 链串上的子串定位算法 用结点大小为1的单链表做串的存储结构时,实现朴素的匹配算法很简单。只是现在的位移是结点地址而非整数,且单链表中没有存储长度信息。若匹配成功,则返回有效位移所指的结点地址,否则返回空指针。具体算法如下: lstring *lindex(lstring s,lstring t){ lstring *shift,*q,*p; shift=S; q=shift;p=t; while(q p){ if(q-data==p-data){ q=q-next; p=p-next; } else{ shift=shift-next; q=shift; p=t; } } if(p==null) return shift; else return null; } 第五章 数组和广义表 [课前预习] [教学内容和教学要求] 课前导学 5.1 数组的定义 5.2 数组的顺序表示和实现 5.3 矩阵的压缩存储 5.3.1 特殊矩阵 5.3.2 稀疏矩阵 5.4 广义表的定义 5.5 广义表的存储结构 课后作业 一、教学内容: 1、 数组的定义和顺序存储方式; 2、 特殊矩阵的压缩存储; 3、 稀疏矩阵 4、 广义表的概念、表示及基本操作;广义表存储结构的实现。 二、教学要求: 1、 了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法; 重点:2、掌握对特殊矩阵进行压缩存储时的下标变换公式; 3、 了解稀疏矩阵的两种压缩存储方法的特点和适用范围,理解以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法; 难点:4、掌握广义表的结构特点及其存储表示方法,会对非空广义表进行分解。 数组和广义表可

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档