我已经google了,无法找到任何DS来存储和读取O(1)时间内的双向数据。例如。书籍和作者。以书的名义,必须找到作者。以作者的名义,必须找到书籍。
如何在DB中存储像Join表这样的关系?
提前感谢。
答案 0 :(得分:1)
这个想法是以下各项的结合:
Hash maps给出预期的O(1)查找。
我不相信数据库通常使用哈希映射,据我所知更常见的是b-trees(给出O(log n)性能)。
答案 1 :(得分:1)
扩展Dukeling的答案,我相信Google有一个名为HashBiMap的实现:http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/HashBiMap.html