稀疏矩阵的概念及三元组表示法
如果一个矩阵中的很多元素的值为零,即零元素的个数远远大于非零元素的个数时,称该矩阵为稀疏矩阵。
由于矩阵中零元素过多,若用一般方法对稀疏矩阵进行存储会造成空间的大大浪费,因此,我们在存储稀疏矩阵的时候,只需要对非零元素进行存储 。
根据存储时所附加信息的不同,稀疏矩阵的顺序存储方式包括:三元组表示法、带辅助行向量的二元组表示法和伪地址表示法。本文采取三元组表示法对稀疏矩阵进行存储。
三元组表示法实际上就是一个二维数组,即将稀疏矩阵中单个非零元的信息(所在行、所在列、数值)用一个数组进行才能存储,再将所有存有单个非零元的数组再用一个数组进行存储。需要注意的是,二维数组开始的第一串信息存的是整个稀疏矩阵的信息(即矩阵的规格以及非零元个数 , 并且每个非零元素需按照行号递增、同一行的非零元素按列号递增的顺序存放。
举个栗子:定义一个 7∗6 的矩阵A。
A=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢00