zoukankan      html  css  js  c++  java
  • 蓄水池采样问题

    问题描述

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

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

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

    算法思想

    算法证明

    所以对于其中每个元素,被保留的概率都为k/n.蓄水池算法适用于对一个不清楚规模的数据集进行采样。

     

  • 相关阅读:
    (2).net体系
    (1)php开篇常识
    java基础知识-xx
    java基础知识-字符串与数组
    java基础知识-流程控制
    小明的喷漆计划
    加分二叉树
    括号序列
    P1045
    胖男孩
  • 原文地址:https://www.cnblogs.com/wmx24/p/9600179.html
Copyright © 2011-2022 走看看