Tag Archives: 矩阵

数据结构重读 - 矩阵乘法

矩阵乘法最naive的版本,自己数学弱爆了,矩阵乘法已经不知道怎么算了……

先科普下吧。

3   0   0   5
(A) 0  -1   0   0
2   0   0   0

0   2
(B)  1   0
-2  4
0   0

首先乘出来的结果是,新矩阵的行是A的行,新矩阵的列是B的列。

计算方法是,首先A的第1行点乘(每个位置上分别乘)B第1列的元素,做为结果矩阵(1, 1)上的元素。然后A的第1行点乘第2列,做为结果矩阵(1, 2[......]

继续阅读

数据结构重读 - 矩阵的压缩和存储

矩阵在数值运算中很常见,本节关注如何存储矩阵的元,从而使矩阵的各种运算能有效进行。

如果矩阵中有许多相同值的元素或者很多零元素。有时为了节省存储空间,可以对这类矩阵进行存储压缩,称为稀疏矩阵。更进一步的,如果稀疏矩阵的相同值或零元素分布还是有规律的,我们可以称他们为特殊矩阵

对称矩阵

例如:

1 2 4
2 3 5
4 5 6

我们可以为每一对称元分配一个存储空间,即可以将n^2个元压缩存储到n*(n+1)/2个空间中。

假设在线性(一元)数组中存储,下[......]

继续阅读

《数据结构》读书笔记 第五章 矩阵的顺序三元表存储

开始恢复写程序了,快正常了~这次的程序很难的,而且系列性啊……最让我惊诧的是看到了别人的减法算法,太牛了……
Matrix.h:定义了基本操作
#include <iostream>
using namespace std;
enum {OK=-1,WRONG=0,MAX=100};
typedef int Status;
typedef int Elem;
struct Triple
{
 int i,j;[......]

继续阅读