On Sat, Jan 22, 2011 at 2:14 PM, Mark Engelberg
<mark.engelb...@gmail.com> wrote:
> Clojure already has a built in queue.  The empty queue is:
> clojure.lang.PersistentQueue/EMPTY
> and then you can use all the usual conj/into/pop/peek functions on it.
> For some reason, PersistentQueue is not documented, so new users have
> no reason to know about it until they happen to ask about it here.
>
> You might be interested to compare your priority queue implementation
> to my "priority map" in 1.3 alpha's contrib, which also supports
> updating items' priorities.
>
> As far as I can tell, your priority queue's pop is not O(1), because
> the underlying sorted map doesn't support "first" in O(1).  It's
> actually O(log32#of priorities).  My priority map is similar, and I
> agree that this behavior is quite fast, but it's worth noting that
> it's not truly O(1).

Clojure's sorted collections are binary trees thus log2, not log32
like the hashed collections.

--Chouser
http://joyofclojure.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to