稀疏矩阵

时间:2011-01-23 16:12:50

标签: c++ algorithm sparse-matrix

我们如何显示稀疏矩阵?想帮助我的人说:使用链接列表 我也读过一些我们应该创建类的地方:

SpMatrix
{
    int non_zero_value;
    int i,j;
}

究竟什么是稀疏矩阵,我已经阅读了wekipedia和其他网站。但问题还没有解决。

提前感谢。

1 个答案:

答案 0 :(得分:4)

稀疏是一个矩阵,大多数元素都等于0.例如,只在对角线上具有非零元素的矩阵显然是一个稀疏矩阵:

1 0 0 0
0 2 0 0 
0 0 3 0 
0 0 0 4

显然,存储矩阵的所有元素是浪费空间,因为大多数都是零。有许多技术来存储这样的矩阵,这实际上取决于你想要的通用程度以及手头的具体问题。

大多数情况下,您最终会为要支持的每种不同类型的稀疏矩阵设置一个特定的类,例如:对角线,三角形,带状对角线等。这通常会为您提供比通用解决方案更高效的代码。

这是一个复杂的问题,没有现成的食谱。您可以使用链接列表或其他任何东西。