【问题标题】:Triangle and sparse matrixes in C++C++ 中的三角形和稀疏矩阵
【发布时间】:2012-04-14 19:34:51
【问题描述】:

这是一个非常简单的问题——在 C++ 中使用三角矩阵和稀疏矩阵的最佳实践是什么?

对于三角矩阵,我建议使用一种简单的数据格式

double* myMatrix;
int dimension;

作为自定义类中的数据结构。 (我建议它是一个完整形式的方阵。)还有设置和访问元素的方法。

对于稀疏矩阵 - 我知道一些方法,比如只保存行/列中元素的位置及其值。这是您的经验的问题 - 稀疏矩阵的哪个实现将是最好的?

附:更少的内存,更少的 CPU 使用——这是我的目标,我正在寻找最好的解决方案,而不是最简单的解决方案。所有矩阵都将用于求解线性方程组。而且矩阵的大小会很大。

非常感谢您的每一个建议!

【问题讨论】:

标签: c++ performance memory-management sparse-matrix


【解决方案1】:

如果你对矩阵的结构一无所知,那么它基本上和地图一样。你可以使用std::map<std::pair<int,int>,double>。或者std::unordered_map,如果你有的话。

【讨论】:

    猜你喜欢
    • 2011-03-07
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2018-03-10
    • 2012-01-10
    • 2012-06-20
    • 1970-01-01
    相关资源
    最近更新 更多