我希望将unordered_set存储为unordered_map中的键,这是好主意还是我应该使用std :: set存储一些数据然后使用std :: map来存储std :: set作为键。哪个更适合性能/查找?
任何建议都会有所帮助
答案 0 :(得分:0)
与许多与数据结构性能相关的问题一样,具体答案取决于您的数据集
考虑到您只对查找性能感兴趣,小数据集通常倾向于使用容器的有序版本,其中“数据集”表示密钥类型(set与unordered_set)的密钥中元素的平均数量,以及外部地图类型(map与unordered_map)的(set,value_type)项数。顺便说一下,没有什么可以阻止你混合有序和无序容器,例如unordered_map,value_type>
尽管如此,唯一可以100%确定哪个容器更好的方法,就是根据您的实际数据进行分析。
考虑到这一点,这里有更多细节:
我会尝试发布一些实际的测试来测量它。