Clojure中的数据结构是否符合这一要求:
get
操作使用少于O(n)
; 答案 0 :(得分:3)
我也需要这个。我通常已经确定了map + a seq(包含键的顺序)。你可以去所有非持久性并使用LinkedHashMap,但我认为如果你这样做,上帝会杀死一只小猫。
Chris Houser的finger tree implementation可能适合该法案吗?
答案 1 :(得分:0)
<击> 撞击>
<击>user=> (sorted-map-by (fn [_ _] -1) :a 1 :b 2 :c 3 :d 4)
{:d 4, :c 3, :b 2, :a 1}
使用带有比较器的有序映射,该比较器始终返回-1。最新的条目将位于地图的开头,最旧的条目位于结尾处。
击>
错误的答案。请参阅以下评论。