摘要: 给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?定义长度为1000的数组。对于数据流中的前1000个关键字,显然都要放到数组中。对于数据流中的的第n(n>1000)个关键字,我们知道这个关键字被随机选中的概率为 1000/n。所以我们以 1000/n 的概率用这个关键字去替换数组中的随机一个。因为此时对于第n个关键字,它被选中的概率为:1000/n=p.而对于前面n-1个关键字来说,可以分成2步:第一步,先在n-1个关键字中,被选q=1000/n-1的概率选为n-1中的1000个。第二步,在这10 阅读全文
posted @ 2012-09-21 14:03 Jack204 阅读(1795) 评论(0) 推荐(0) 编辑