
编程珠玑
文章平均质量分 64
shyboy_9999
这个作者很懒,什么都没留下…
展开
-
编程珠玑 12章取样问题
输入:整数m,n输出:成0~n-1内的m个不重复的随机整数,要求按序输出,并且保证每个子集被选中的可能性相等。伪代码: select = m remaining = n for i = (0] if(bigrand()%remaining) < select ...原创 2014-04-23 16:38:47 · 132 阅读 · 0 评论 -
给定包含4300000000个32位整数的顺序文件,如何找到一个出现失少两次的整数
给定包含4300000000个32位整数的顺序文件,如何找出一个出现至少两次的整数?一、位向量法思路:考虑两个条件1. 所有的整数都存储在顺序文件中,因此,读取文件的次数将明显影响算法的效率2. 顺序文件中包含的整数个数为4300000000,如果全部读取放在内存中的话,必须要考虑内存空间因素。 解决方案:由上面的问题,我们想到了Bit-Map,可以申请537500...原创 2014-09-13 12:59:09 · 586 阅读 · 0 评论 -
编程珠玑 第1章 有限内存排序问题
准确的问题描述:输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7(one million)。在输入文件中没有任何两个 数相同。输出:按升序排序的输入整数列表。约束条件:1M的内存空间,有充足的磁盘空间,运行时最多需要几分钟,运行时间为10秒不需要优化。问题分析:如果每个数字用32位整数来存储,1M的空间可以存储 250,000个整数,失...原创 2014-04-24 16:47:09 · 330 阅读 · 0 评论