矩陣的壓縮儲存

2021-09-07 01:12:41 字數 1065 閱讀 1298

一、壓縮儲存

指為多個值相同的元只分配乙個儲存空間,對零元不分配空間。

二、矩陣分類

1、假如值相同的元素或者零元素在矩陣中的分配有一定的規律,則我們稱此類矩陣為特殊矩陣;反之,稱為稀疏矩陣。

2、n階對稱矩陣

滿足aij = aji   1<=i,j<=n;

3、稀疏矩陣:非零元較零元少,且分布沒有規律。

三、n階對稱矩陣a的壓縮儲存

2、該儲存方法也適合三角矩陣,所謂三角矩陣指矩陣的上(下)三角(不包括對角線)中的元均為常數c或者零的n階矩陣。除了和對稱矩陣一樣,只儲存其上(下)三角中的元之外,還要儲存乙個儲存常數c的儲存空間即可。

四、稀疏矩陣    

1、假設再m*n的矩陣中,有t個元素不為零。另

& = t/(m*n).

稱&為矩陣的稀疏因子。通常認為&<=0.05時稱為稀疏矩陣。

五、三元組順序表

1、乙個三元組(i,j,aij)可以唯一確定矩陣a的乙個非零元。

2、假設以順序儲存結構來表示三元組表,則可以得到稀疏矩陣的李忠壓縮儲存方式—三元組順序表。

六、轉置矩陣

轉置運算是一種最簡單的矩陣運算。對乙個m*n的矩陣m,它的轉置矩陣t是乙個n*m的矩陣,且t(i,j) = m(j,i), 1<=i<=n,1<=j<=m;

七、十字鍊錶

在鍊錶中,每乙個非零元可用乙個含有5個域的結點表示,其中i、j和e表示非零元的位置和資料。。向右域right用以鏈結同一行中的下乙個非零元,向下域down用以鏈結同一列中下乙個非零元。同一行的非零元通過right域鏈結乙個線性鍊錶,同一列的非零元通過down域鏈結成乙個線性表,每個非零元既是某一行鍊錶中的結點,也是某乙個列煉表中的結點,整個矩陣構成了乙個十字交叉的鍊錶,所以稱這樣的儲存結構為十字鍊錶,可用兩個分別儲存行鍊錶的頭指標和列鍊錶的頭指標的一維陣列表示。

矩陣的壓縮儲存

在編寫程式時往往都是二維陣列表示矩陣,然而在數值分析中經常出現一些階數很高的的矩陣同時在距震中有很多值相同的元素,或者是零元素,為了節省空間,可以對這類矩陣進行壓縮儲存,所謂的壓縮儲存就是,多個值相同的元之分配乙個儲存空間,對零元不分配空間。若值相同的元素或零元素在矩陣中分布有一定規律,則稱矩陣為特...

矩陣的壓縮儲存

我的離散老師一直建議我們用矩陣來儲存資訊,尤其是兩個事物的關係資訊 比如兩個元素相關聯,比如圖 但如果要儲存的關係是雙向的,也就是無向圖,那麼用矩陣就會造成部分浪費,比如從a到b有路徑,那麼只需要在陣列 a b 位置置1即可,b a 再置1就顯得浪費了 這種關係矩陣往往是對稱矩陣所以需要 給相同元素...

矩陣壓縮儲存

在c中矩陣的表示是用二維陣列。那麼首先要搞清楚陣列行列與矩陣行列的對應。在c語言中二維陣列是按行儲存的。即順序儲存每一行。第一行,第二行。最後一行 看一下例子 陣列數量替換成arrs i j 方便說明。int arrs i j test 二維陣列記憶體位置 for i 0 i 3 i 在上例中i表示...