代码之家  ›  专栏  ›  技术社区  ›  J Cooper

当键和值同等“重要”时的数据结构

  •  0
  • J Cooper  · 技术社区  · 14 年前

    所以,这可能是一个愚蠢的问题,但我有一个唯一ID到唯一值的映射。有时我想要某个ID的值,有时我想要知道某个值的ID。我搜索的不仅仅是修改集合。我想知道这里是否有一个特殊的数据结构是有意义的,或者我是否应该维护集合的两个副本(从来不是超大的)——一个由ID键控,一个由值键控。

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  1
  •   Gilles 'SO- stop being evil'    14 年前

    维护集合的两个副本是规范的解决方案。

    请注意,如果合适,两个方向可以使用不同的集合类型(例如具有不同哈希函数的哈希表、哈希表和平衡树等)。

        2
  •  1
  •   duffymo    14 年前

    像谷歌的 BiMap .