最近,我需要在 clojure 中实现一个特殊的集合,它可能有重复的元素(即多重集),例如
#{1 2 3 4 1 2}
更重要的是,还需要在 O(1) 时间内删除等于指定值的任意元素。例如,当我输入
(my-remove #{1 1 2 2 3 4} 2)
它应该返回#{1 1 2 3 4}
,而不循环遍历整个集合(或向量)。
我的问题是,clojure中是否有内置的数据结构满足这两个属性。如果没有,是否有任何适当的替代解决方案来实现这一点?谢谢!
最佳答案
值到其“计数”的映射? (删除一个值会减少计数器?)
关于data-structures - clojure 中是否有内置数据结构支持重复元素和 O(1) 删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25970470/