Reservoir Sampling( Reservoir sampling )
给一个Streaming的Data,未知长度,要求在Streaming结束后返回N个Data,且是等概率的
O(L)
假设数组S以0开始:
从S中抽取前k项放入「水塘」中 对于每一个S[j]项(j ≥ k): 随机产生一个范围从0到j的整数r 若r<k则把水塘中的第r项换成S[j]项
Reservoir Sampling( Reservoir sampling )
给一个Streaming的Data,未知长度,要求在Streaming结束后返回N个Data,且是等概率的
O(L)
假设数组S以0开始:
从S中抽取前k项放入「水塘」中 对于每一个S[j]项(j ≥ k): 随机产生一个范围从0到j的整数r 若r<k则把水塘中的第r项换成S[j]项