當前位置:成語大全網 - 書法字典 - 如何用C語言壓縮內存大小

如何用C語言壓縮內存大小

為(row,col,value),因此所有非零值形成壹個向量。與二維數組相比,這種存儲方法節省了大量空間,當然還可以進壹步節省空間,因為三元組中的行或列是重復存儲的,只需要壹行或壹列。如果按照這個思路,就是行壓縮存儲。

那麽到底什麽是行壓縮存儲呢?行壓縮存儲的思想是按照行訪問的順序將所有非零值組成壹個向量,然後在每行中存儲非零值列的下標。這兩個向量的大小與稀疏矩陣中非零值的數量相同。當然,要訪問行壓縮矩陣,每行中具有非零值的列的下標應該存儲在第二個向量的開頭。有人稱之為指針。利用這三個向量,可以實現對矩陣的高效逐行訪問。與三元組相比,行壓縮存儲不僅是空間的壓縮,而且是行訪問的效率。如果三元組是有序的,它們可以通過二分搜索法訪問壹行,但行壓縮存儲的時間復雜度是恒定的。您可以參考下面的行壓縮矩陣示意圖: