稀疏矩阵的压缩存储压缩存储值存储极少数的有效数据。使用{row,col,value}三元组存储每一个有效数据,三元组按原矩阵中的位置,以行优先级先后顺序依次存放。压缩存储:行优先一行一行扫有效数据存入以为矩阵_arr列转置法:从前向后遍历压缩矩阵,先找列号为0的存入转置矩阵的压..
分类:
其他好文 时间:
2016-04-19 00:40:31
阅读次数:
339
稀疏矩阵的特点M*N矩阵,矩阵中有效值的个数远远小于无效值的个数,并且这些数据的分布没有规律。例如下面的矩阵稀疏矩阵的压缩存储压缩矩阵值存储极少数的有效数据。使用三元组来存储每一个数据,三元组数据按照矩阵中的位置,以行优先顺序依次存放。则上述矩阵的存储结构为三..
分类:
其他好文 时间:
2016-04-18 07:44:02
阅读次数:
261
稀疏矩阵:矩阵中大多数元素为0的矩阵(本文以行序为主序)稀疏矩阵的三元组表述法:类型结构:template<typenameT>
structTriple
{
int_row;
int_col;
T_value;
};
template<typenameT>
classSparseMatrix
{
public:
SparseMatrix<T>::SparseMatrix();..
分类:
其他好文 时间:
2016-04-12 07:41:13
阅读次数:
248
使用两种方法将稀疏矩阵快速转置#include<iostream>
#include<vector>
usingnamespacestd;
template<classT>
structTriple//三元组
{
size_trow;
size_tcol;
T_value;
};
template<classT>
classSparseMatrix
{
public:
SparseMatrix(T*arr,size..
分类:
其他好文 时间:
2016-03-31 19:04:45
阅读次数:
175
#include<iostream>
#include<vector>
#include<string>
usingnamespacestd;
//三元组
template<classT>
structTriple
{
size_t_row;
size_t_col;
T_value;
};
template<classT>
classSparseMatrix
{
public:
SparseMatrix();
SparseMatrix..
分类:
其他好文 时间:
2016-03-31 17:07:25
阅读次数:
254
当一个矩阵为稀疏矩阵时,有效数据的个数比无效数据要少得多,因此若将一个矩阵全部存储会浪费空间,可以只将有效数据存储起来,无效数据作为标记代码如下:#include<iostream>
#include<vector>
usingnamespacestd;
//可用一个三元组来存储有效数据的信息
templa..
分类:
其他好文 时间:
2016-03-14 02:03:52
阅读次数:
258
说明:稀疏矩阵的快速转置算法的核心在于,用一个数组num记录原来矩阵中的每列非零元个数,用另一个数组cpos来记录原矩阵每列第一个非零元在新矩阵中的位置,以此来达到快速转置的目的。用这样的方法,主要是希望,矩阵转置后,存储顺序依然是按照行来存储的。1.实现及代码注释..
分类:
其他好文 时间:
2015-09-28 06:39:42
阅读次数:
232
当矩阵 的 有用信息非常少时,我们考虑将矩阵压缩存储。这就涉及到 特殊矩阵 和 稀疏矩阵。
特殊矩阵 指的是 有一定规律的 矩阵,这个矩阵 我们 只存储 部分 有用信息,其余的信息 可以通过 公式 转换 求得。例如 对称矩阵,我们按行存储主对角线以下(包括主对角线)的元素,其余元素 我们可以通过 下面的公式求得。
稀疏矩阵,指的事没有一定规律的矩阵,并且 有用信息总数/矩阵总数 小于等于 0...
分类:
其他好文 时间:
2015-03-17 16:02:34
阅读次数:
233
详细介绍了三元组存储稀疏矩阵的快速转置算法,重点介绍矩阵乘法的三种不同实现,尤其最后一种快速乘法,先把其中一个矩阵转置,再各行对应元素相乘,思想新颖,代码简洁,值得一看。...
分类:
编程语言 时间:
2014-10-27 23:08:09
阅读次数:
644