数据结构9数组A_第1页
数据结构9数组A_第2页
数据结构9数组A_第3页
数据结构9数组A_第4页
数据结构9数组A_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

传智播客数据结构教程(9),教师:殷诚QQ:77025077博客:C/C,实用算术,传智播客,高薪就业,第2页,查找下一个J下一个J,S : Abcabcabcabgt : Abcababg,Abcabbg?第3页,数据结构课程的内容,第4页,第5章数组和广义表(数组,int*pa,*,Pb;pa=(int *)malloc(m * n * sizeof(int);Pb=(int *)malloc(n * p * sizeof(int);第16页,(2)如何获取矩阵元素的值并为矩阵元素赋值?存储在二维数组中的矩阵可以根据其维数、基地址和下标轻松计算其元素位置,从而获得元素值!例如:amnvolum=m * n。初始化:* p(I-1)* n j-1)=t;/类型p表示l,值为t=*(p(I-1)* n j-1);*(p I * n j)=t;t=*(p I * n j);为什么数组下标通常在高级语言0中定义?第17页,(3)如何相乘矩阵,二维矩阵的元素值可以根据相应的数组元素值得到,也可以根据运算规则计算得到!对于(I=0;在icol中,p和q向右移动(2)插入:a,如果p=NULL且q=NULL,即该行为空,则RHr-1=s;如果p=空,q!=NULL,即转到行尾,然后q-right=sc;如果c=p-col,则修改p-vald;如果ccol和q=NULL,则在p之前插入s,即s是行列表中的第一个节点,使RHr-1=s;s-right=p;e .如果ccol和q!=NULL,s插入p之前,即s-right=p;q-right=s;第34、5页,稀疏矩阵运算,三元组表a .数据,三元组表b .数据,M,T,(以转置运算为例),目的,35,a:绝对不正确!除了:(1)每个元素的行下标和列下标互换(即三元组中的I和j互换);它还应该:(2)t的总行数和总列数nu不同于值m(互换);(3)对三元组中的元素进行重新排序,以便转置的三元组也根据行(或列)主顺序进行有规则的排列。上述(1)和(2)易于实现,难点在于(3)。如果通过三重压缩技术存储稀疏矩阵,只要交换每个元素的行下标和列下标,矩阵的转置操作就会完成。这是正确的吗?实现压缩转置有两种方法(压缩)快速转置第36页方法1压缩转置思想:重复扫描数据中的列顺序,从小到大转置。三重表a.data,三重表b.data,1,1,2,2,col,q,1,2,3,4,思考:在相应的算法中应该有多少个循环?什么是内循环和外循环?第37页,statustransportesmatrix(tsmatrixm,tsmatrix,压缩转置算法描述):/使用三元组表存储稀疏矩阵m,查找m的转置矩阵t/q是转置矩阵t的节点号/col是扫描m三元组表的列顺序的变量,/p是m三元组表中的节点号,第38页,1。主要时间花在搜索移动数据上。j=col元素, for(col=1;col=M.nuCol)周期=num for(p=1;p=M.tup)循环数=tu,因此算法的时间复杂度为O(nu * tu)-即最差的情况是m的列数与m中非零元素数的乘积:m是所有非零元素,此时tu=mu*nu,时间复杂度为O(nu2*mu)注意:如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论