A Friday Python Programming Pearl: random sampling
Bryan
bryanjugglercryptographer at yahoo.com
Sat May 29 10:43:43 EDT 2010
Mark Dickinson wrote:
> N.B. I don't claim any originality for the algorithm; only for the
> implementation: the algorithm is based on an algorithm attributed to
> Robert Floyd, and appearing in Jon Bentley's 'Programming Pearls' book
Actually it is the sequel, /More Programming Pearls/.
> (though that algorithm produces a set, so doesn't worry about the
> ordering of the sample).
Bentley presents a version of the Floyd algorithm that provides random
order, but it requires a set data type with some idea of order, as in
"insert j in s after t". As Mark Dickinson's version uses a normal
dict(), which Bentley had already introduced under the name "associate
array", I'd say Mark's version is an improvement.
--
--Bryan
More information about the Python-list
mailing list