蓄水池抽样问题(《编程珠玑》习题12.10)

[问题]在不知道文件总行数的情况下,如何从文件中随机的抽取一行? [解析]首先想到的是我们做过类似的题目吗?当然,在知道文件行数的情况下,我们可以很容易的用C运行库的rand函数随机的获得一个行数,从而随机的取出一行,但是,当前的情况是不知道行数,这样如何求呢?我们需要一个概念来帮助我们做出猜想,来使得对每一行取出的概率相等,也即随机。这个概念即蓄水池抽样(Reservoir Sampling)。
相关文章
相关标签/搜索