【问题标题】:Container for sparse matrix稀疏矩阵的容器
【发布时间】:2021-03-03 13:23:32
【问题描述】:

我需要在 C++ 中为稀疏矩阵实现一个容器。容器具有添加和修改矩阵值的功能(我不允许使用 std:: 向量或数组或标准库中的任何内容)。我需要使用动态数组。我该怎么做,有人有想法吗?

【问题讨论】:

  • std::map<std:pair<int, int>, data_t> 可用于通用稀疏矩阵。所以从一个非模板化的实现开始。当您有一些代码时,请在此处发布。请阅读How to Askminimal reproducible example
  • 如果您不能使用标准容器,那么您应该自己编写。不要指望它是微不足道的,有很多机会出错。当他们告诉你不要使用std::vector时,他们没有告诉你应该使用什么吗?

标签: c++ matrix containers sparse-matrix


【解决方案1】:

我该怎么做,有谁知道吗?

做可能可行的最简单的事情,不要羞于根据需要换档。链表可以工作吗?试试看。如果结果不够快,就换成更快的。

而且我需要使用动态数组。

这就是你的答案:如果你需要使用动态数组,那将是你的存储机制。

关于稀疏矩阵的事情是大多数条目都是 0,因此即使是通过非零条目进行线性搜索也很快,因为没有那么多。那么,如果您有一个条目列表,其中每个条目都包含其在矩阵中的位置和一个值,该怎么办?这似乎就是满足您的要求所需的一切。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多