伙计们,我正在使用动态编程方法来解决问题。以下是该方法的简要概述
- 生成的每个值都使用 25 个唯一键标识。
- 我使用boost::hash_combine使用这 25 个键为哈希表生成种子。
我将值存储在声明为的哈希表中
boost::unordered_map<Key_Object, Data_Object, HashFunction> hashState;
我对我的算法进行了时间分析,发现将近95%的运行时间都花在了将数据检索/插入到哈希表中。
这些是我的哈希表的详细信息
hashState.size() 1880
hashState.load_factor() 0.610588
hashState.bucket_count() 3079
hashState.max_size() 805306456
hashState.max_load_factor() 1
hashState.max_bucket_count() 805306457
我有以下两个问题
我可以做些什么来提高哈希表的插入/检索操作的性能?
C++ STL 有 hash_multimap 也符合我的要求。在插入/检索性能方面, boost 库unordered_map与hash_multimap相比如何。