稀疏矩陣的壓縮矩陣

2021-08-02 08:46:46 字數 632 閱讀 3982

如果乙個矩陣中的大部分元素為零,稱為稀疏矩陣。對於稀疏矩陣而言,時間儲存的資料項很少,如果在程式中使用傳統的二維陣列方式來儲存,則十分浪費儲存空間,且矩陣越大,資源浪費越嚴重。為提記憶體空間利用率,可利用三項式(3-tuple)的資料結構,即把乙個非零項用(i,j,item_value)來表示。其中array(0,0)儲存稀疏矩陣的總行數,array(0,1)儲存稀疏矩陣的總列數,其中array(0,2)儲存稀疏矩陣非零項總數,從第1行開始依次儲存稀疏矩陣的非零項所在行、列、非零值,這就是稀疏矩陣的壓縮矩陣。

#include #include #include using namespace std;

//稀疏矩陣行數、列數、非零項總數

const int rows = 11;

const int columns = 13;

const int nonzero = 15;

int main()

} for(i = 0;i < irandnonzero;i++)

irandvalue = rand() % 100;

iarrsparse[irandrow][irandcolumn] = irandvalue > 0 ? irandvalue : 100;

} cout << "稀疏矩陣為:" <

稀疏矩陣壓縮

對於那些零元素數目遠遠多於非零元素數目,並且非零元素的分布沒有規律的矩陣稱為稀疏矩陣 sparse 人們無法給出稀疏矩陣的確切定義,一般都只是憑個人的直覺來理解這個概念,即矩陣中非零元素的個數遠遠小於矩陣元素的總數,並且非零元素沒有分布規律。由於稀疏矩陣中非零元素較少,零元素較多,因此可以採用只儲存...

稀疏矩陣的壓縮

稀疏矩陣的特點 m n矩陣,矩陣中有效值的個數遠遠小於無效值的個數,並且這些資料的分布沒有規律。例如下面的矩陣 稀疏矩陣的壓縮儲存 壓縮矩陣值儲存極少數的有效資料。使用三元組來儲存每乙個資料,三元組資料按照矩陣中的位置,以行優先順序依次存放。則上述矩陣的儲存結構為 三元組結構 三元組的定義 temp...

對稱矩陣 稀疏矩陣的壓縮儲存

對稱矩陣 稀疏矩陣的壓縮儲存 1 對稱矩陣的壓縮儲存 對稱矩陣顧名思義就是符合行和列的個數相同,並且矩陣中儲存的資料上三角和下三角中對應位置上的元素值是相等的。為了能夠減少儲存的空間,我們可以只儲存上三角矩陣 或者下三角矩陣中的元素,這樣就能夠極大地節省空間的浪費。下面是對稱矩陣的示列 假設對稱矩陣...