2.如果采用完全存储法存储稀疏矩阵,有哪几种方法
时间: 2023-07-15 15:11:18 浏览: 41
在完全存储法中,稀疏矩阵中的所有元素都被存储下来,包括零元素。这种方法会浪费大量的存储空间,因此不适用于稀疏矩阵。下面是几种可以采用的方法来存储稀疏矩阵:
1. 压缩稠密列 (Compressed Dense Column, CDC) 方法:该方法将矩阵压缩成一个稠密列和一个索引数组。稠密列包含所有非零元素,索引数组记录每个列的第一个非零元素的位置和非零元素的个数。这种方法适用于列数较少的矩阵。
2. 压缩稠密行 (Compressed Dense Row, CDR) 方法:该方法与 CDC 方法类似,只是将矩阵压缩成一个稠密行和一个索引数组,索引数组记录每行的第一个非零元素的位置和非零元素的个数。这种方法适用于行数较少的矩阵。
3. 链式前向星 (Linked Forward Star, LFS) 方法:该方法使用链表存储非零元素,每个节点包含元素的值、行号和列号,以及指向同一行下一个非零元素的指针和指向同一列下一个非零元素的指针。这种方法适用于非常稀疏的矩阵。
4. 双线性形式 (Bilinear Form) 方法:该方法将矩阵表示为两个向量的叉积,其中一个向量表示矩阵的行,另一个向量表示矩阵的列。这种方法适用于方阵。
5. 零元素跳过 (Zero-Suppressed) 方法:该方法只存储非零元素,对于零元素则不进行存储。这种方法适用于非常稀疏的矩阵。
相关问题
2.如果采用完全存储法存储稀疏矩阵,一是 ,二是 。
一是可以节省存储空间,因为稀疏矩阵中很多元素的值为0,采用完全存储法会浪费很多空间;而采用稀疏存储法可以只存储非零元素的位置和数值,节省存储空间。
二是在计算稀疏矩阵的运算时,由于完全存储法需要将所有元素都参与计算,而稀疏存储法只需要计算非零元素的位置和数值,所以稀疏存储法在计算稀疏矩阵的运算时可以大大提高计算效率。
稀疏矩阵的常见压缩存储方法有哪两种?
常见的稀疏矩阵压缩存储方法有两种:
1. 压缩行(CSR):将非零元素按行压缩存储,同时记录每行的第一个非零元素的位置和非零元素在列中的位置。
2. 压缩列(CSC):将非零元素按列压缩存储,同时记录每列的第一个非零元素的位置和非零元素在行中的位置。
这两种方法都可以有效地压缩稀疏矩阵,减少存储空间和计算时间。具体使用哪种方法取决于矩阵的性质和应用场景。