基本存储结构_矩阵

来源:互联网 发布:堆量选股公式 源码 编辑:程序博客网 时间:2024/05/21 07:51

一.原理:矩阵就是线性代数中的那个矩阵,在计算机中常用二维数组来存储它,然后与一些操作函数封装在一起构成矩阵类。

二.例子:1.对称矩阵2.稀疏矩阵

矩阵也可以用一维数组来存储,但是要注意矩阵下标与一维数组下标间的转换关系。将这样的数组与矩阵的存,删,改,查等操作一封装就构成了矩阵类。

1.对称矩阵

对称矩阵就是关于矩阵对角线对称的矩阵,由于具有对称的特性,因此在存储时利用可减少存储空间,设n阶矩阵的行列为i,j,在矩阵存储表示时,根据i>j ? index=(i-1)*n+(j-1):index=(j-1)*n+(i-1)求出在一维数组中的下标,然后存进去就行了。取的时候也一样。

2.稀疏矩阵

稀疏矩阵就是0比较多,因此可直接存储非0项,可定义一个结构体包含三个属性,分别是非零项在矩阵中的row,col,value,然后用一个顺序表的结构来把这些结构体串起来,添上一些标记矩阵信息的属性和一些矩阵操作,就构成了稀疏矩阵类。但是顺序表在查找,删除时比较麻烦。

而用有行指针的链表来表示就很方便了,它包含了一个行指针数组,所有该行的矩阵非零元都被用指针attach到记录该行的数组元素上。当然你也可以设计一个含行指针和列指针数组的链表稀疏矩阵。

0 0
原创粉丝点击