Knuth's algorithm S: Difference between revisions

no edit summary
No edit summary
Line 251:
 
=={{header|Python}}==
<lang python>from random import random, randrange
 
def s_of_n_creator(n):
Line 262:
# Keep first n items
sample.append(item)
elif randomrandrange(i) < n / i:
# Keep item
sample[randrange(n)] = item
Line 325:
# Keep first n items
sample.append(item)
elif randomrandrange(i) < n / i:
# Keep item
del sample[randrange(n)]
Line 342:
if i <= n
sample << item
elsif rand(i) < (n.to_f/i)
sample[rand(n)] = item
end
Anonymous user