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