04 2010 档案
读书笔记二
摘要:《编程珠玑》第二章问题一:给定一个包含40亿个32位整数的文件,整数排列次序随机。请查找一个此文件中不存在的32位整数。解答:32位整数共有0xFFFFFFFF个。如果用一个bit标示一个整数,一共需要约537MB内存。如果内存足够,就构建一个这样大的位图,就可以很快找到的不存在的整数了。问题二:问题一中,如果内存限制为100MB,如何实现?解答:可以采用之前提过的多通道算法,对文件读取六次,每次... 阅读全文
posted @ 2010-04-16 01:48 香依香偎孤旅独行的驿站 阅读(512) 评论(1) 推荐(1)
读书笔记一
摘要:《编程珠玑》第一章问题一:一个文件包含了10,000,000个记录,每个记录的内容是7位的整数。记录不会重复。需要一个程序来读取文件内容,需要将这些记录排序后输出文件,内存限制1M左右。解答:由于记录不会重复,因此每个记录用一个bit标示,就可以很简单的完成记录的标记和排序。这样需要大约1.25M的内存,时间和空间都不大。问题二:问题一中,如果严格限定不能超过1M的内存呢?解答:多通道进行,以时间... 阅读全文
posted @ 2010-04-14 00:50 香依香偎孤旅独行的驿站 阅读(832) 评论(0) 推荐(1)