【发布时间】:2013-10-29 12:07:12
【问题描述】:
我试图推断一个我只能模拟的过程的马尔可夫链。最终图将包含的状态/顶点数量非常多,但我事先不知道顶点的数量。
现在我有以下内容:
- 我的模拟输出一个
boost::dynamic_bitset,每个时间步包含 112 位。 - 我使用 bitset 作为 Google 稀疏散列中的键来映射到整数值,该整数值可用作我要构造的邻接矩阵的索引。
现在我需要一个好/快的矩阵或二维数组来存储整数。它应该:
- 使用我存储在 Google Sparse Hash 中的整数值作为行数/列数。 (例如,我想通过执行
matrix(3,4) = 3之类的操作来访问/更改存储的整数。 - 我不知道我需要提前多少行或列。所以它应该能够即时添加行和列。
- 大多数值将是 0,因此它可能应该是某些东西的稀疏实现。
- 行数和列数会很大,所以应该很快。
- 使用简单。我不需要大量的数学运算,它应该是一种快速简单的存储和访问整数的方法。
我希望我的问题足够清楚。
【问题讨论】:
标签: c++ arrays matrix multidimensional-array adjacency-matrix