棧:矩陣的壓縮儲存
阿新 • • 發佈:2019-01-31
概念:
科學與工程計算有一個特殊的數學物件,那就是矩陣。如何將矩陣中的各個元素儲存在計算機中,陣列就是一個很好的選擇。我們通常會遇到三種類型的矩陣:
- 普通矩陣
- 特殊矩陣:對稱矩陣、上三角矩陣、下三角矩陣、對角矩陣等
- 稀疏矩陣
特殊
特殊矩陣和稀疏矩陣壓縮儲存的目的是節省儲存空間。矩陣的下標是從1開始,而將改矩陣壓縮成記憶體中的一維空間時,與該一維空間所對應的陣列下標是從0開始。
1. 對稱矩陣:
性質:
- 在n階矩陣A中的元素滿足 :
a =aji ( 1≤ i , j≤n ); - 壓縮策略:只儲存上三角或下三角的元素。所需空間
n(n+1)2 - 一維陣列sa[
n(n+1)2 ] 儲存以行序為主序的下三角(包括對角線),其地址的運算,即aij 和sa[k] 之間存在如下對應關係:
k=⎧⎩⎨⎪⎪i(i−1)2+j−1,j(j−1)2+i−1,i ≥ j,對角線元素和下三角元素i < j,上三角元素
2. 上三角與下三角矩陣:
上三角矩陣:
下三角矩陣: a21a31⋮ai1ma22a32