要从大小不确定的数组中检索 k个 随机数,我们使用一种称为储层采样的技术。谁能简要介绍一下示例代码是如何发生的?
我实际上没有意识到这个名字,所以我从头证明并实现了这个名字:
import random def random_subset( iterator, K ): result = [] N = 0 for item in iterator: N += 1 if len( result ) < K: result.append( item ) else: s = int(random.random() * N) if s < K: result[ s ] = item return result
来自:http : //web.archive.org/web/20141026071430/http : //propersubset.com : 80/2010/04/choosing-random- elements.html
接近尾声的证明。