摘要:
如何等概率的从N个元素中选取出K个元素?这个问题就是一个蓄水池抽样(Reservoir Sampling),算法可以如下描述:Init: a reservoir with the size: kfori= k+1toNM=random(1, i);if( M < k)SWAPthe Mthvalueandithvalueend for网上有人给出了证明,先转过来:【转】证明:每次都是以 k/i 的概率来选择例: k=1000的话,从1001开始作选择,1001被选中的概率是1000/1001,1002被选中的概率是1000/1002,与我们直觉是相符的。接下来证明:假设当前是i+1, 按 阅读全文