所以,我读到Clojure向量,列表和地图的count
操作是 O(1)。
(count [1 2 3]) ;=> 3
但对于Clojure集,它是否也 O(1)?我想它可能是,但我不确定如何找出答案。我快速阅读http://clojure.org/data_structures#Data%20Structures-Sets,但看不到那里的信息。
答案 0 :(得分:8)
是O(1)
您可以通过观察clojure.lang.PersistentSet
在Java源代码中维护_count
字段来验证这一点:
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentList.java