相关疑难解决方法(0)

是否存在双向多图持久数据结构?

换句话说,我们可以有效地在持久数据结构中建模多对多关系吗?


建议使用一对单向多图.但是,我不确定这对于在持久数据结构中删除是否会很好.让我们假设我们将键1..4设置为值"1".."4"并且假设它们各自引用所有其他的,所以我们有两个看起来非常相似的两个方向的地图:

{1 => ["2","3","4"],2 => ["1","3","4"],...} {"1"=> [2,3, 4],"2"=> [1,3,4],...}

现在我们想要从系统中完全删除第1项.这需要更改第一个映射中的一个节点,但它需要在第二个映射中更改n-1个节点.对于成千上万的n(可能在我考虑这个的情况下)不会那么贵吗?或者是针对处理此类更改而优化的多图?这是一个病态案例,但仍然......


四叉树似乎是一个迷人的想法.我要多考虑一下.

persistence functional-programming immutability referential-transparency data-structures

7
推荐指数
2
解决办法
1339
查看次数