我在理性数据库中有父子映射,如下所示,
relationship_id | parent_id | child_id
1 | 100009 | 600009
2 | 100009 | 600010
3 | 600010 | 100008
为了性能优化,我喜欢将所有这些映射保存在内存中。在这里,一个孩子将有一个以上的父母,而一个父母有两个以上的孩子。我想,我应该使用“Graph”数据结构。
填充到内存中是一次性的活动。我担心的是,当我要求列出所有孩子(不仅仅是直系孩子)时,它应该尽快返回它们。添加和删除很少发生。我应该使用什么数据结构和算法?
尝试了MultiHashMap,以实现O(1)
搜索时间,但它有更多的冗余。