data-structures - clojure 中是否有内置数据结构支持重复元素和 O(1) 删除?

标签 data-structures clojure

最近,我需要在 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/

相关文章:

c++ - 作为结构内部字段的映射的初始化值?

algorithm - 奥赛罗棋盘游戏的简单数据结构?

java - Java 中的_全局_列表

java - 队列的数组实现

data-binding - 仅当函数的参数是临时参数时, `:as` 绑定(bind)才有用吗?

clojure - 如何操作记录?

algorithm - 二维矩阵中的范围更新和查询

java - Clojure - 找不到匹配的方法

multithreading - Clojure 消息处理/异步、多线程

clojure - 如何确定何时从作者端关闭 core.async channel ?