有没有著名的算法可以有效地查找重复项?
例如,假设我有数千张照片,并且这些照片都有唯一的名称。可能存在不同子文件夹中的重复项。使用std::map或任何其他哈希映射是否是一个好主意?
有没有著名的算法可以有效地查找重复项?
例如,假设我有数千张照片,并且这些照片都有唯一的名称。可能存在不同子文件夹中的重复项。使用std::map或任何其他哈希映射是否是一个好主意?
generate file sizes
for each file, verify if there's some with the same size.
if you have any, then generate a fast hash for them.
compare the hashes.
If different, ignore.
If equal: generate a second hash.
Compare.
If different, ignore.
If equal, you have two identical files.
如果大多数文件都不同,为每个文件进行哈希处理将花费太多时间,并且是无用的。
HashMap
非常高效地查找某个值是否已经存储。 - Mark Huk