CSR稀疏矩阵存储方式
生活随笔
收集整理的這篇文章主要介紹了
CSR稀疏矩阵存储方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
矩陣可分為稠密矩陣和稀疏矩陣,對于稀疏矩陣而言,使用同樣的內存來存儲這個矩陣顯然是對內存的浪費,那么我們就可以想辦法將矩陣中所有的o元素揮著不相關元素剔除,怎么剔除,第一種方法是通過三個一維矩陣來存儲原二維矩陣中的所有非0元素,三個矩陣分別為value、column、row, value 數組存儲所有的非零元素, column 數組存儲所有非零元素的列下標 row 數組存儲所有的非零元素的行下標 看例子 [1,0,0,2] [0,0,3,4] [4,5,6,0] [6,0,3,0] 壓縮存儲后 value = [1,2,3,4,4,5,6,6,3] cloumn=[0,3,2,3,0,1,2,0,2] row = [0,0,1,1,2,2,2,3,3,] 可以看到壓縮存儲的樣子,但是,我們通過row行可以看到,很多重復的數值,也就是每一行的多個元素,每個元素都對應著同樣的行號,這樣也浪費的空間,因此,我們引入csr稀疏矩陣存儲方式,該存儲方式將重復的行號壓縮,只記錄,開頭和結尾元素的位置,具體的做法如下圖:
?
總結
以上是生活随笔為你收集整理的CSR稀疏矩阵存储方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C 多线程编程之在类中使用多线程(t
- 下一篇: c++静态成员函数好处