CH5 数组和广义表 数据结构PPT()教程文件.pptVIP

CH5 数组和广义表 数据结构PPT()教程文件.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文档。上传文档
查看更多
CH5 数组和广义表 数据结构PPT()教程文件.ppt

第五章 数组和广义表;5.1 数组的类型定义;5.1 数组的类型定义;二维数组的定义:;基本操作:;推广到一般情况,可得到 n 维数组数据元素存储位置的映象关系; 例5.1 对二维数组float a[5][4]计算: (1) 数组a中的数组元素数目; (2) 若数组a的起始地址为2000,且每个数组元素长度为32位(即4个字节),数组元素a[3][2]的内存地址。 ; ; 数组的顺序存储表示和实现 InitArray(A, n, bound1, ..., boundn) 操作结果:若维数 n 和各维长度合法, 则构造相应的数组A,并 返回OK。; Value(A, e, index1, ..., indexn) 初始条件:A是n维数组,e为元素变量, 随后是n 个下标值。 操作结果:若各下标不超界,则e赋值为 所指定的A 的元素值,并返 回OK。; Assign(A, e, index1, ..., indexn) 初始条件:A是n维数组,e为元素变量, 随后是n 个下标值。 操作结果:若下标不超界,则将e的值赋 给所指定的A的元素,并返回 OK。;假设 m 行 n 列的矩阵含 t 个非零元素,则称 为稀疏因子。 通常认为 ? ? 0.05 的矩阵为稀疏矩阵。; 以常规方法,即以二维数组表示 高阶的稀疏矩阵时会产生以下问题:;1) 尽可能少存或不存零元素;;1) 特殊矩阵 非零元在矩阵中的分布有一定规则。 如: 对称矩阵 三角矩阵 对角矩阵;1) 特殊矩阵的压缩存储 对称矩阵 ; a00 a01 … … a0(n-1); 三角矩阵;若 i j,数组元素 A[i][j] 在矩阵的上三角部分, 在数组 B 中没有存放,可以找它的对称元素A[j][i]:= j *(j +1) / 2 + i 若已知某矩阵元素位于数组 B 的第 k个位置(k≥0),可寻找满足 i (i + 1) / 2 ? k (i + 1)*(i + 2) / 2 的 i, 此即为该元素的行号。 j = k - i * (i + 1) / 2 此即为该元素的列号。 例,当 k = 8, 3*4 / 2 = 6 ? k 4*5 / 2 =10, 取 i = 3。则 j = 8 - 3*4 / 2 = 2。 ;对上三角形矩阵:; ;稀疏矩阵 (Sparse Matrix);设矩阵 A 中有 s 个非零元素。令 e = s/(m*n),称 e 为矩阵的稀疏因子。 有人认为 e≤0.05 时称之为稀疏矩阵。 在存储稀疏矩阵时,为节省存储空间,应只存储非零元素。但由于非零元素的分布一般没有规律,故在存储非零元素时,必须记下它所在的行和列的位置 ( i, j )。 每一个三元组 (i, j, aij) 唯一确定了矩阵A的一个非零元素。因此,稀疏矩阵可由表示非零元的一系列三元组及其行列数唯一确定。;稀疏矩阵的压缩存储方法是只存储非零元素。 由于稀疏矩阵中非零元素的分布没有任何规律,所以在存储非零元素时还必须同时存储该非零元素所对应的行下标和列下标。这样稀疏矩阵中的每一个非零元素需由一个三元组(i,j,ai,j)惟一确定,稀疏矩阵中的所有非零元素构成三元组线性表。; 假设有一个6×7阶稀疏矩阵A(为图示方便,我们所取的行列数都很小),A中元素如下图所示。则对应的三元组线性表为: ((0,2,1),(1,1,2),(2,0,3),(3,3,5), (4,4,6),(5,5,7),(5,6,4));2)随机稀疏矩阵的压缩存储方法:; 若把稀疏矩阵的三元组线性表按顺序存储结构存储,则称为稀疏矩阵的三元组顺序表。则三元组顺序表的数据结构可定义如下:;;如何求转置矩阵?;稀疏矩阵转置算法思想;用常规的二维数组表示时的算法;;;;Status FastTransposeSMatrix(TSMatrix M, TSMatrix T){ T.mu =

文档评论(0)

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

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

1亿VIP精品文档

相关文档