S.A*_*hid 1 c++ algorithm sparse-matrix
我们如何显示稀疏矩阵?有人想帮助我说:使用链表。
我还读过一些我们应该创建这样的类的地方:
SpMatrix
{
int non_zero_value;
int i,j;
}
Run Code Online (Sandbox Code Playgroud)
到底什么是稀疏矩阵,我已经阅读了维基百科和其他网站。但问题还没有解决。
提前致谢。
稀疏矩阵是大多数元素等于 0 的矩阵。例如,仅对角线上具有非零元素的矩阵显然是稀疏矩阵:
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
Run Code Online (Sandbox Code Playgroud)
显然,存储矩阵的所有元素是浪费空间,因为大多数元素都是零。有多种技术可以存储此类矩阵,这实际上取决于您想要的通用程度以及手头的具体问题。
大多数时候,您最终会为想要支持的每种不同类型的稀疏矩阵(例如对角线、三角形、带对角线等)提供一个特定的类。这通常会为您提供比通用解决方案更有效的代码。
这是一个复杂的问题,没有现成的食谱。您可以使用链接列表或其他任何东西。