特殊矩阵的压缩存储

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j×(j+1)/2 +i
当i<j
2 三角矩阵的压缩存储
3 cc c c 6 2c c c 4 81 c c 7 46 0 c 8 29 5 7
下三角矩阵的压缩存储
0 12 34 5 a00 a10 a11 a20 a21 a22 …
第0行 第1行
第2行
k
n(n+1)/2
aij … an-1n-1 c
aij在本行中的序号j-i+1
2 三角矩阵的压缩存储
上三角矩阵的压缩存储
矩阵中任一元素aij在数组中的下标k与i、j的对应关系:
i×(2n-i+1)/2+j-i
k= n×(n+1) /2
当i≤j 当i>j
3 对角矩阵的压缩存储
对角矩阵:所有非零元素都集中在以主对角线为中心的带状 区域中,除了主对角线和它的上下方若干条对角线的元素外 ,所有其他元素都为零。 矩阵中任一元素aij在数组中的下标k与i、j的对应关系: K=2i+j
(a)ห้องสมุดไป่ตู้下三角矩阵
矩阵中任一元素aij在数组中的下标k与i、j的对应关系:
i×(i+1)/2+j 当i≥j
k=
n×(n+1)/2
当i<j
2 三角矩阵的压缩存储
34 8 1 0 c2 9 4 6 cc15 7 cc c 0 8 cc c c 7
上三角矩阵的压缩存储
01
k
a 00 a01 … a0n-1 a1 1 a12 … a1n-1 … aij
对称矩阵特点:aij=aji
压缩存储:只存储下三角部分的元素。
原来存储n阶对称矩阵需要n2个单元,现在需要? 1+2+…+n=n(n+1)/2
1 对称矩阵的压缩存储
如何只存储下三角呢? 将下三角部分以行为主序顺序存储到一个一维数组SA中
0… j … 0

i
aij
n-1
n-1
第0行 第1行 … 第i-1行
第0行 第1行
… 第i-1行
每行元素个数
2 3 … 3
aij
2+(i-1)*3
aij在本行中的序号j-i+2
元素aij在一维数组中的序号 =2i+ j +1
∵一维数组下标从0开始
∴元素aij在一维数组中的下标 = 2i+ j
谢谢学习
主讲教师:尹红丽
《数据结构》 课程 特殊矩阵的压缩存储
主讲教师:尹红丽
目录 CONTENTS
1 对称矩阵的压缩存储 2 三角矩阵的压缩存储 3 对角矩阵的压缩存储
1 对称矩阵的压缩存储
特殊矩阵:矩阵中很多值相同的元素并且它们的分布有一定的规律。 压缩存储:为值相同的元素只分配一个存储空间,零元素不分配空间
36478 62842 A= 4 8 1 6 9 74605 82957
第0行
第1行
n(n+1)/2
… an-1n-1 C 第n-1行
(b)
第0行 第1行 … 第i-1行
上三角矩阵
每行元素个数
n n-1 … n-i+1
aij
i*(2n-i+1)/2
aij在一维数组中的序号 = i×(2n-i+1)/2+ j-i+1
∵一维数组下标从0开始
∴aij在一维数组中的下标 k= i×(2n-i+1)/2+ j-i
每行元素个数 1 2
… i*(i+1)/2
i aij
aij在一维数组中的序号 = i×(i+1)/2+ j+1
∵一维数组下标从0开始
∴aij在一维数组中的下标 k= i×(i+1)/2+ j
aij在本行中的序号j+1
矩阵中任一元素aij在数组中
i×(i+1)/2+j 当i≥j k=
的下标k与i、j的对应关系:
相关文档
最新文档