当前位置:在线查询网 > 在线百科全书查询 > 水塘抽样

水塘抽样_在线百科全书查询


请输入要查询的词条内容:

水塘抽样




简介


水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到主内存的情况。最常见例子为Jeffrey Vitter在其论中所提及的算法R。

算法步骤


参照Dictionaryof Algorithms and Data Structures所载的O(n)算法,包含以下步骤(假设阵列S以0开始标示):

从S中抽取首k项放入「水塘」中对于每一个S[j]项(j ≥ k):

随机产生一个范围从0到j的整数r

若 r < k 则把水塘中的第r项换成S[j]项

相关分词: 水塘 抽样