因此,我读到对于Clojure向量、列表和映射,count
运算是O(1)。
(count [1 2 3]) ;=> 3
但是对于Clojure集,它也是O(1)吗?我想可能是,但我真的不确定如何找到。我快速阅读了http://clojure.org/data_structures#Data%20Structures-设置,但在那里看不到信息。
它是O(1)
您可以通过观察clojure.lang.PersistentSet
在Java源代码中维护一个_count
字段来验证这一点
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentList.java