SparseMatrix.hpp#pragmaonce
#include<iostream>
usingnamespacestd;
#include<vector>
template<classT>
structTriple{
T_value;
size_t_row;
size_t_col;
};
#defineROW6
#defineCOL5
template<classT>
classSparseMatrix{
public:
SparseMatrix(in..
分类:
编程语言 时间:
2015-11-04 14:56:42
阅读次数:
237
本文针对 [数据结构基础系列网络课程(5):数组和广义表]
1. 数组的基本概念与存储结构
2. 特殊矩阵的压缩存储
3. 稀疏矩阵的三元组表示
4. 稀疏矩阵的十字链表表示
5. 广义表
6. 广义表的存储结构及基本运算的实现【项目1 - 猴子选大王(数组版)】
一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开...
分类:
编程语言 时间:
2015-10-18 23:16:50
阅读次数:
260
本文针对数据结构基础系列网络课程(5):数组与广义表中第6课时广义表的存储结构及基本运算的实现。广义算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:glist.h,包含定义稀疏矩阵的三元组表示数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef GLIST_H_INCLUDED
#define GLIST_H_INCLUDEDtypedef char ElemType;
ty...
分类:
编程语言 时间:
2015-10-08 06:54:12
阅读次数:
227
本文针对数据结构基础系列网络课程(5):数组与广义表中第3课时稀疏矩阵的三元组表示。问题:定义稀疏矩阵的三元组表示的数据结构,实现其基本操作,并设计测试函数进行测试代码:#include
#define M 6
#define N 7
#define MaxSize 100 //矩阵中非零元素最多个数
typedef int ElemType;typedef s...
分类:
编程语言 时间:
2015-10-07 20:27:04
阅读次数:
247
说明:稀疏矩阵的快速转置算法的核心在于,用一个数组num记录原来矩阵中的每列非零元个数,用另一个数组cpos来记录原矩阵每列第一个非零元在新矩阵中的位置,以此来达到快速转置的目的。用这样的方法,主要是希望,矩阵转置后,存储顺序依然是按照行来存储的。1.实现及代码注释..
分类:
其他好文 时间:
2015-09-28 06:39:42
阅读次数:
232
一、sparse()的稀疏矩阵简单运用1.>> A = [0, 0, 0, 0;0, 0, 1, 0;0, 0, 0, 0;0, 1, 0, 2];>> sparse(A)ans =(4,2) 1(2,3) 1(4,4) 2二.S = sparse(i,j,s,m,n,nzmax)由向量i,j,s ...
分类:
其他好文 时间:
2015-08-26 22:16:13
阅读次数:
163
稀疏矩阵处理方法:(1) 数据平滑技术,如设定缺省值,将为评分项设为平均分或众数,回归填补法,随机填补法;聚类平滑技术,将未评分项使用聚类中心的数据经行填充。(2) 降维技术,主成分分析( PCA)和奇异值分解(SVD)(3)对已有相似度计算模型进行局部加权处理。如基于时间的加权,基于共现次数的线性...
分类:
其他好文 时间:
2015-08-16 19:33:54
阅读次数:
195
为了节省存储空间并且加快并行程序处理速度,需要对稀疏矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素;不存储零值元素。常用的几种矩阵的存储格式如下:COO,CSR,DIA,ELL,HYB等;稀疏矩阵是指矩阵中的元素大部分是0的矩阵,事实上,实际问题中大规模矩阵基本上都是稀疏矩阵,很多稀疏度在90%甚至99%以上。因此我们需要有高效的稀疏矩阵存储格式。本文总结几种典型的格式:COO,CSR,D...
分类:
其他好文 时间:
2015-08-12 01:19:36
阅读次数:
325
#include
#include
typedef int DataType;
typedef struct OLNode{
int i,j;
DataType e;
struct OLNode *right,*down;
}OLNode,*OLink;
typedef struct{
OLink *rowhead,*colhead;
int m,n,len;
}CrossList;
/...
分类:
其他好文 时间:
2015-08-08 18:19:16
阅读次数:
144
#include
#include
#define MaxSize 200
typedef int DataType;
typedef struct{ //三元组类型定义
int i,j;
DataType e;
}Triple;
typedef struct{ //矩阵类型定义
Triple data[MaxSize];
int rpos[MaxSize]; //用于存储三...
分类:
其他好文 时间:
2015-08-08 06:45:52
阅读次数:
151