什么是壓縮存盤?
把多個相同的元素分配一個存盤空間,元素為0的不分配空間,
什么樣的矩陣能夠壓縮?
特殊矩陣,如:對稱矩陣,對角矩陣,三角矩陣,稀疏矩陣等,
什么叫稀疏矩陣?
矩陣中非零元素個數較少,什么是算少?一般認為非零元素個數少于5%的矩陣為稀疏矩陣,
對稱矩陣
對稱矩陣比較特殊,其資料元素沿著對角線對稱,
對稱矩陣根據其對稱性,只儲存其下三角或上三角就可以了,

其實公式就是由等引數列得出……so easy所以元素總個數就為i*(i-1)/2+j-1
下三角的元素用線性表來表示為:

根據對稱性,上三角的元素可以表示為:a[i][j]=a[j][i]

總結:存盤下標計算秘籍:如果用一維陣列s[]存盤(下標從0開始),則a[i][j]的存盤下標k等于a[i][j]前面元素數:
k=a[ i ][ j ]前面的元素數
LOC(a[ i ][ j ])=LOC(a[ ll ])+k*L //L為位元組數
三角矩陣
三角矩陣是比較特殊,分為下三角矩陣和上三角矩陣,
1.下三角矩陣是指矩陣的下三角有資料,而其余都是常熟C或者0,

按行存盤在一維陣列s[ ]中:(常量為0時不存盤)


2.上三角矩陣


對角矩陣(考研常考)
對角矩陣又稱帶狀矩陣,是指在n*n的矩陣中,非零元素集中在主對角線及其兩側,共L=2k+1(奇數)條對角線的帶狀區域內,稱為L對角矩陣,

半帶寬=(L-1)/2,除了帶狀區域,其余元素皆為0不存盤,
儲存方式(補0)
d就是半帶寬,


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/499991.html
標籤:其他
