资源简介
稀疏矩阵的三元组程序,完全正确.稀疏矩阵的三元组存储

代码片段和文件信息
// SparseMatrix.cpp
#include “SparseMatrix.h“
#ifndef SPARSEMATRIX_CPP
#define SPARSEMATRIX_CPP
template
SparseMatrix::SparseMatrix(int muint nuint tuTriple data[])
{ if(tu>MaxSize ) throw “空间不够“;
m_Mu = mu; m_Nu = nu; m_Tu = tu;
for(int i=0; i m_Data[i] = data[i];
}
// 矩阵转置算法
template
SparseMatrix &SparseMatrix::Trans()
{ SparseMatrix *B=new SparseMatrix;
B->m_Mu=m_Nu; B->m_Nu=m_Mu; B->m_Tu=m_Tu;
for(int k=0col=0; col for(int i=0; i if(m_Data[i].col==col)
{ B->m_Data[k].row =m_Data[i].col;
B->m_Data[k].col =m_Data[i].row;
B->m_Data[k].value=m_Data[i].value;
k++;
}
return *B;
}
// 快速矩阵转置算法
template
SparseMatrix &SparseMatrix::QuickTrans()
{ SparseMatrix *B=new SparseMatrix;
B->m_Mu=m_Nu; B->m_Nu=m_Mu; B->m_Tu=m_Tu;
int *num=new int[m_Nu];
//统计当前对象中每列的三元组个数
for(int i=0; i for(i=0; i //计算pos数组
int *pos=new int[m_Nu];
for(pos[0]=0i=1; i pos[i]=pos[i-1]+num[i-1];
//快速转置
for(i=0; i { int col=m_Data[i].col; int loc=pos[col];
B->m_Data[loc].row =m_Data[i].col;
B->m_Data[loc].col =m_Data[i].row;
B->m_Data[loc].value=m_Data[i].value;
pos[col]++;
}
delete []num; delete []pos;
return *B;
}
#endif
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1556 2008-03-26 21:59 2稀疏矩阵之三元组\SparseMatrix.cpp
文件 875 2008-03-26 21:59 2稀疏矩阵之三元组\SparseMatrix.h
文件 352 2008-03-26 21:03 2稀疏矩阵之三元组\Test.cpp
文件 3513 2008-03-26 11:32 2稀疏矩阵之三元组\Test.dsp
文件 533 2008-03-26 11:32 2稀疏矩阵之三元组\Test.dsw
文件 66560 2008-04-28 09:40 2稀疏矩阵之三元组\Test.ncb
文件 53760 2008-04-28 09:40 2稀疏矩阵之三元组\Test.opt
文件 1427 2008-03-26 21:59 2稀疏矩阵之三元组\Test.plg
目录 0 2008-04-28 11:39 2稀疏矩阵之三元组
----------- --------- ---------- ----- ----
128576 9
相关资源
- 编译原理中间代码生成程序
- CUDA实现稀疏大矩阵乘法
- 压缩感知基础
- 数据结构数组稀疏矩阵及广义表、递
- 稀疏矩阵LU分解在GPU上的性能优化
- Taucs-大型稀疏矩阵计算库
- GoDec稀疏矩阵分解
- 稀疏矩阵共轭梯度法CUDA简例
- 数据结构--稀疏矩阵课程设计.doc
- 数据结构稀疏矩阵
- 稀疏矩阵相加相乘三元组、十字链表
- 学生信息表&稀疏矩阵
- 三元组相关算法含设计报告.rar
- 稀疏矩阵和三元组的基础理论
- 已知稀疏矩阵用三元组表示编写C=A*
- 无指导的开放式中文实体关系抽取
- 稀疏矩阵的十字链表表示方法:矩阵
- 幂法和反幂法求解大型稀疏矩阵特征
- 稀疏矩阵运算器.cpp (两个矩阵相加、
- 顺序存储空间表示的稀疏矩阵的创建
- 稀疏矩阵转置 源码
评论
共有 条评论