“count”在Clojure集上的性能是什么



因此,我读到对于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

最新更新