Bir Clojure vektörleri, listeleri ve haritaları için count
işleminin O (1) olduğunu okudum.Bir Clojure kümesinde `sayının performansı nedir?
(count [1 2 3]) ;=> 3
Ama Clojure ayarlamak için de O (1) mı? Muhtemelen muhtemelen olduğunu hayal ediyorum, ama nasıl öğreneceğime emin değilim. Hızlı bir şekilde http://clojure.org/data_structures#Data%20Structures-Sets okudum, ancak bilgileri göremedim.
Teşekkür bakmak beni doğru yere işaret için! Şimdi saymak için O (1) performansını gösteren 'Counted' arayüzünü ve PersistSet'in bunu uygulayabildiğini görebiliyorum. '(örnek? clojure.lang.Counted # {: a: b:: c}) => true ' –
Evet' Sayıldı', kontrol edilmesi için kullanışlı bir işaretleyici arabirimdir. Her ne kadar kesinlikle * garanti etmediğine dikkat etse de, O (1) davranış - gerçek bir somut sınıf uygulamasını mutlaka kontrol etmelisiniz. Teorik olarak, birisi "Sayım" ı kötü (O 2) performansıyla ya da daha kötüsüyle uygulayabilirdi. – mikera