压缩矩阵
- 壓縮矩陣:指為多個值相同的元素只分配一個存儲空間,對零元素不分配存儲空間
- 特殊矩陣:指具有許多相同矩陣元素或零元素,并且這些相同矩陣元素或零元素的分配有一定規律性
1、對稱矩陣
對稱矩陣:矩陣每個元素都有aij=aji
壓縮方法:將對稱矩陣存放到一維數組B[n(n+1)/2]中,第一行先存,依次向下,只存放主對角線和下三角線的元素
元素aij在數組B中的下標k=1+2+…+(i-1)+j-1 (這里的i,j都是從1開始的)
2、三角矩陣
三角矩陣:上三角或者下三角都是同一常量
壓縮方法:將三角矩陣壓縮到一維數組B[n(n+1)/2+1]中,按行優先,數組B最后一個空間存放常量C
元素aij在數組B中的下標k (ij都是從1開始)
下三角矩陣:
上三角矩陣:
3、三對角矩陣
三對角矩陣:只有以主對角線為中心的3條對角線為不全為0,其他的都是0
壓縮方式:將3條對角線上的元素按行優先存放一維數組B中
元素aij在數組B中的下標k (ij都是從1開始)
知道k,如何求i,j?
4、稀疏矩陣
稀疏矩陣:矩陣里0元素非常多
壓縮方法:僅存儲非零元素,存儲非零元素的行值、列值、非零元素值,按行優先
i、j從0開始
缺點:稀疏矩陣壓縮存儲后便失去了隨機存取特性(前面的k還可以根據i、j來求)
總結
- 上一篇: 七座suv多少钱啊?
- 下一篇: C和汇编---数组