Clojure集上`count`的性能如何?

时间:2014-04-15 09:32:44

标签: clojure

所以,我读到Clojure向量,列表和地图的count操作是 O(1)

(count [1 2 3]) ;=> 3

但对于Clojure集,它是否也 O(1)?我想它可能是,但我不确定如何找出答案。我快速阅读http://clojure.org/data_structures#Data%20Structures-Sets,但看不到那里的信息。

1 个答案:

答案 0 :(得分:8)

O(1)

您可以通过观察clojure.lang.PersistentSet在Java源代码中维护_count字段来验证这一点:

https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentList.java