[工学]数据结构C语言版第2章.pptVIP

  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文档。上传文档
查看更多
[工学]数据结构C语言版第2章

第2章 数组与结构 2.6 ADT字符串 程序2-9 稀疏矩阵乘法(II) else if(new_b[j].row!=column){ storesum(d,totald,row,column,sum); column=new_b[j].row; } else switch(compare(a[i].col,new_b[j].col)){ case -1: i++; break; case 0: sum+=(a[i++].value*new_b[j++].value); break; case 1: j++; } } for( ; a[i].row==row; i++) ; row_begin=i ; row=a[i].row; } d[0].row=rows_a; d[0].col=cols_b; d[0].value=totald; } O(∑(cols_b·termsrow+tobalb))= O(cols_b·total_a+rows_a·totalb) 对照两个矩阵经典相乘的例子,可看出上述方法的优越性: 若设 Q=M*N 其中,M是m1*n1矩阵,N是m2*n2矩阵。 当n1=m2时有: for(i=1;i=m1;++i) for(j=1;j=n2;++j){ q[i][j]=0 for(k=1;k=n1;++k) q[i][j]+=m[i][k]*n[k][j]; } 此算法的复杂度为O(m1*n1*n2)。 O(n3) - O(n2) 2.5 多维数组的存储表示 多维数组:a[upper0] [upper1] · · · a[uppern-1] ADT string: P52 Structure String objects: Functions: String NuLL(m) Integer Compare(s,t) Boolean IsNUll(s) Integer Length(s) String Concat(s,t) String Substr(s,i,j) End String 字符串函数: char *strcat(char *dest,char *src) char *strncat(char *dest,char *src, int n) char *strcmp(char *str1,char *str2) char * strcpy(char *dest,char *src) * * 本章主题:ADT数组、结构与共同体、ADT多项式、矩阵 教学目的:掌握ADT数组的定义、运算及存储结构 教学难点:稀疏矩阵的表示与多维数组的存储 本章主要介绍数组的概念及多维数组在计算机中的存放,特殊矩阵的存储及相应运算实现。通过本章学习,要求掌握如下内容: 1. ADT数组的定义与存储表示及结构实现; 2. 线性表与ADT多项式 3. 稀疏矩阵的三元组表示及转置算法实现; 4.ADT字符串插入与模式匹配实现; 本章学习导读 数组(Array)是由n(n1)个相同类型数据元素a0,al,…ai…,an-1构成的有限序列。n是数组的长度。其中数组中的数据元素ai是一个数据结构,即ai可以是线性表中的一个元素,本身也可以是一个线性表. ADT数组: Structure Array object: 有序对index,values的集合 functions: Array Create(j,list) ::= return j 维数组. Item Retrieve(A,i) ::=if(i∈index) return values(i) else return error Array Store(A,I,x) ::=if(i∈index) return Add(I,x) to A else return error 2.1 AD

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档