【发布时间】:2018-01-05 16:25:49
【问题描述】:
假设我有 1GB 内存可用,如何在这些 url 中找到重复的?
我在《Cracking the Coding Interview》一书中看到了一个解决方案,它建议使用hashtable将这些url分成4000个文件x.txt,x = hash(u)%4000在初次扫描。在第二次扫描中,我们可以分别检查每个 x.txt 文件中的重复项。
但是我如何保证每个文件可以存储大约 1GB 的 url 数据呢?我认为有些文件可能会比其他文件存储更多的 url 数据。
我对这个问题的解决方案是迭代地实现文件分离技巧,直到文件足够小以供我使用。
还有其他方法吗?
【问题讨论】:
标签: algorithm memory scalability