[racket] [BULK] Re: Looking for feedback on code style

From: Stephen Bloch (sbloch at adelphi.edu)
Date: Mon Sep 13 14:46:56 EDT 2010

On Sep 13, 2010, at 1:34 PM, Phil Bewig wrote:

> Do you know a better way to shuffle a list than to convert it to a vector, shuffle in place, then convert back to a list?  You might look at this discussion: http://groups.google.com/group/comp.lang.scheme/browse_thread/thread/24270db01f684439/e54c99564028efec.  The list-vector-list method is O(n); any functional method appears to be O(n log n).

In fact, ANY method to do this (even with a vector) takes Omega(n log n) time.  It needs to be able to produce any of n! different answers, so it needs to make at least log(n!) decisions, which is Theta(n log n).  Otherwise there wouldn't be enough leaves on the decision tree.


Stephen Bloch
sbloch at adelphi.edu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20100913/ff57978f/attachment.html>

Posted on the users mailing list.