编程珠玑
文章平均质量分 78
一头食量超大的小猪
要吃要玩更要学
展开
-
如何给1000万条记录排序,每条记录都是7位的整数
1. 问题描述 输入: 一个最多包含n个不重复的正整数的文件,其中每个数都小于n,每个数是一个7位的整数, n=10^7。 条件: 最多有1MB的内存可用, 排序最多只允许执行几分钟,10s是比较理想的运行时间.有充足的磁盘存储空间可用. 输出: 按升序排列的输入整数的列表. 2. 解决方案 2.1 归并排序 由于内存的限制, 只能采用多路归并的方法来解决这个问题. 排序方法; 把这原创 2016-04-25 10:49:59 · 5143 阅读 · 0 评论 -
编程珠玑之第二章
1. 问题1 问题描述: 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件中至少缺失一个这样的数,为什么?). (1)在具有足够内存的情况下, 如何解决该问题? (2)如果有几个外部的"临时"文件可用,但是仅有几百字节的内存, 又该如何解决该问题? 问题思路: 由于2^32 = 4 294 967 296,超过给出的40亿,因此必定存在32原创 2016-04-27 15:37:59 · 394 阅读 · 0 评论