摘要: <<编程珠玑>>开篇就讲了一个用位图散列解决用少量内存解决大量数据排序的问题.现在有10 000 000条互不相同的数据,2M的内在,无限大的硬盘空间.用散列表来实现这些数据的存储和查找.假如要存储一组小于20的非负整数的集合,可以用一个20bit的串来表示.比如集合{1,5,8,13}可以表示为:0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0第i位上有数据则置为1,否则置为0因此存储10 000 000条数据需要10 000 000bit=1 250 000Byte=1.25M<2M构建散列表的同时就完成了对数据和排序,如果要查找 阅读全文
posted @ 2011-04-24 09:49 张朝阳 阅读(1269) 评论(2) 推荐(0) 编辑