time bounds for BinaryRandList (was ANN: Edison 1.2RC4)

Okasaki, C. DR EECS Christopher.Okasaki at usma.edu
Fri Jun 2 11:41:51 EDT 2006


Jim Apple wrote:
> the source for BinaryRandList at
>
http://www.eecs.tufts.edu/~rdocki01/edison/_darcs/current/edison-core/sr
c/Data/Edison/Seq/BinaryRandList.hs
> , I don't think the constant time bounds in the documentation are
> correct for this sequence type.

Ross Patterson replied:
> Indeed not.  If you have a sequence of exactly 2^n elements and then
> alternate between tail and cons, each operation will cost O(log n).

Yes, for this implementation, head and tail cost O(log n).  However,
using amortization, you can still count cons as O(1), using the usual
arguments to show that incrementing a binary number takes O(1)
amortized time.

-- Chris


More information about the Libraries mailing list