问题描述

 

要求从N个元素中随机的抽取k个元素,其中N无法确定。例如:

  1. 从 100000 份调查报告中抽取 1000 份进行统计。
  2. 从一本很厚的电话簿中抽取 1000 人进行姓氏统计。
  3. 从 Google 搜索 "Ken Thompson",从中抽取 100 个结果查看哪些是今年的。

这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。

 

算法思想

 

蓄水池采样问题

 

 

算法证明

 

蓄水池采样问题

 

所以对于其中每个元素,被保留的概率都为k/n.

 

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2022-02-05
  • 2021-05-21
  • 2021-07-26
猜你喜欢
  • 2021-07-12
  • 2022-12-23
  • 2021-10-06
  • 2021-08-25
  • 2021-07-22
  • 2021-11-23
  • 2021-06-20
相关资源
相似解决方案