使用查找表以填充矩阵

时间:2014-10-22 01:06:53

标签: c++

我正在尝试计算一个大矩阵的元素的价值。这些元素的值重复并重复。由于真的很大,我更喜欢在一些查找表中计算这些数组的元素然后对于这个大矩阵的每个元素映射来自查找表的适当值。如果有人可以帮助我或给我一些例子,我将不胜感激。

感谢

1 个答案:

答案 0 :(得分:1)

如果您确定您的查找表将是10,000个元素,并且任何给定的唯一"两个因素" (= key)可以某种方式廉价地转换为唯一的索引号(0到9,999之间的数字),然后只需定义一个数组C方式或恰好10,000个元素的std::array。这将是插入,搜索和检索最快的。

在所有其他情况下,我建议使用某种键值集合(例如std::map)。如果您的密钥很复杂,那么在结构中定义它,并使用该结构作为键。是否使用std::mapstd::unordered_map或其他一些键值集合需要进行基准测试,或者至少应该有一些关于缓存命中率(搜索)的统计信息,以及经常错过(插入)。