一个不知道有多少条目的文件 每个条目一行 类似下面的结构
sdfgdfsgdfsgf
ertyrteyrtye
ytuityuityuityui
etrwtwetewtwt
.....
要求从头到尾只遍历一遍,等概率取其中100个条目,可以用rand()等系统函数时侯
和不能用任何系统调用时都怎么做?
假设文件的行数n大于100行(其实是废话,小于100行就没意义了)
预先申请一个string str[100],将前100行的记录都存取进去。
然后从第101行开始,假设当前是第K行,令m=rand() % k,如果m<100,就将str[m]的值修改为当前行内容,否则继续。最后str里面的内容就是取出的100个条目。
现在需要证明这种算法下,第k行被选中的概率为100/n。
A k>100的情况,第一次被选入到str中的概率为100/k,第2次没有被剔除来的概率为k/k+1,第三次为k+1/k+2,最后一次为n-1/n,则最后的概率为
(100/k) * (k/k+1) * (k+1/k+2) *.....*(n-2/n-1) * (n-1/n) = 100/n
B k<100,则从第101行开始,第一次不被剔除的概率是100/101,第二次101/102,最后一次n-1/n,则最后被选中的概率为
(100/101) * (101/102) * .........* (n-2/n-1) * (n-1/n) = 100/n
感觉这样是可以保证每一行被选中的概率是100/n,这个结论可以推广为n行选择m个条目
分享到:
相关推荐
c++面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试...
面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...
【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】...
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里...
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...
最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题
ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题
2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...
java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题...
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
最新各大公司企业真实面试题-Java面试题最新各大公司企业真实面试题-Java面试题
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...
flahas3.0面试题 flash as3.0面试题 as3.0面试题 as3.0面试题最新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新...
(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...
以前公司用过的一份面试题,共享一下,有用的参考一下