【问题标题】:Efficient dictionary-based data structure高效的基于字典的数据结构
【发布时间】:2016-11-29 17:50:23
【问题描述】:

基于字典的最佳(时间和空间效率)数据结构是什么?我有一大组大小相等(32 到 64)的字符串(10 亿),我想将它们存储在字典中,以便进行集合成员资格测试。

【问题讨论】:

  • 很少有数据结构在时间和空间效率指标上都是最好的。在这里弄清楚预期的使用模式将是一个好主意 - 例如,您是否只插入一次密钥然后多次查找它们,或者您是否经常添加和删除密钥,或者您是否插入一次然后只查看他们一次,或者....
  • 字符串包含的字符是否受到限制? (十六进制?只有大写?)

标签: c++ dictionary trie


【解决方案1】:

使用std::map,其中key值一般用于对元素进行排序和唯一标识,而映射值存储与该键关联的内容。

如果您不需要按其键对地图进行排序,请使用std::unordered_map,它比地图容器更快地按其键访问单个元素。

你可以在map v/s unordered_mapthis question.阅读更多内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多