C++数据结构(第2版)课件第4章字符串和多维数组.ppt

C++数据结构(第2版)课件第4章字符串和多维数组.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3 矩阵的压缩存储 特殊矩阵:矩阵中很多值相同的元素并且它们的分布有一定的规律。 稀疏矩阵:矩阵中有很多零元素。 压缩存储的基本思想是: ⑴ 为多个值相同的元素只分配一个存储空间; ⑵ 对零元素不分配存储空间。 特殊矩阵和稀疏矩阵 特殊矩阵的压缩存储——对称矩阵 3 6 4 7 8 6 2 8 4 2 4 8 1 6 9 7 4 6 0 5 8 2 9 5 7 A= 对称矩阵特点:aij=aji 如何压缩存储? 只存储下三角部分的元素。 4.3 矩阵的压缩存储 (a) 下三角矩阵 (b) 存储说明 (c) 计算方法 aij在一维数组中的序号 =阴影部分的面积 = i×(i+1)/2+ j ∵一维数组下标从0开始 ∴aij在一维数组中的下标 k= i×(i+1)/2+ j-1 1 … i n 1 … j … n aij 每行元素个数 1 2 … i-1 aij在本行中的序号 aij 第1行 第2行 … 第i-1行 对称矩阵的压缩存储 4.3 矩阵的压缩存储 对于下三角中的元素aij(i≥j),在数组SA中的下标k与i、j的关系为:k=i×(i+1)/2+j -1。 上三角中的元素aij(i<j),因为aij=aji,则访问和它对应的元素aji即可,即:k=j×(j+1)/2+i -1 。 对称矩阵的压缩存储 第1行 第n-1行 第0行 a11 a21 a22 a31 a32 a33 aij … a n1 an2 … ann … 第2行 0 1 2 3 4 5 k n(n+1)/2-1 4.3 矩阵的压缩存储 特殊矩阵的压缩存储——三角矩阵 3 c c  c  c 6  2 c  c  c 4 8 1  c c 7  4 6  0  c 8  2 9  5  7 (a) 下三角矩阵 3 4  8  1 0 c 2  9  4  6 c c 1 5 7 c c  c  0  8 c c  c  c 7 (b) 上三角矩阵 如何压缩存储? 只存储上三角(或下三角)部分的元素。 4.3 矩阵的压缩存储 矩阵中任一元素aij在数组中的下标k与i、j的对应关系: i×(i+1)/2+j-1 当i≥j n×(n+1)/2 当i<j k= 下三角矩阵的压缩存储 0 1 2 3 4 5 k n(n+1)/2 第1行 第0行 a11 a21 a22 a31 a32 aij … ann … 第2行 c a33 存储 下三角元素 对角线上方的常数——只存一个 4.3 矩阵的压缩存储 矩阵中任一元素aij在数组中的下标k与i、j的对应关系: (i-1)×(2n-i+2)/2+j-i 当i≤j n×(n+1) /2 当i>j k= 上三角矩阵的压缩存储 存储 上三角元素 对角线上方的常数——只存一个 4.3 矩阵的压缩存储 特殊矩阵的压缩存储——对角矩阵 对角矩阵:所有非零元素都集中在以主对角线为中心的带状区域中,除了主对角线和它的上下方若干条对角线的元素外,所有其他元素都为零。 a11 a12 0  0  0 a21 a22 a23 0  0 0 a32 a33 a34 0 0 0 a43 a44 a45 0  0  0  a54 a55 A= 4.3 矩阵的压缩存储 按行 存储 元素aij在一维数组中的序号 =2 + 3(i-2)+( j-i + 2) =2i+ j -2 ∵一维数组下标从0开始 ∴元素aij在一维数组中的下标 = 2i+ j -3 (b) 寻址的计算方法 (c) 压缩到一维数组中 a11 a12 a21 a22 a23 a32

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档