问下小弟我想做一个文件去重的软件, 数据量比较大, 用什么有什么好的算法~

问下我想做一个文件去重的软件, 数据量比较大, 用什么有什么好的算法~~
求助~ 我只能想到for循环一个一个的比.....
------解决思路----------------------
文件去重一般都是先比较md5,有重复的再去比文件。
------解决思路----------------------
用具有 key-value 对的字典。以文件名做key,全路径做value。
遍历全体文件:
  获取当前文件名
  如果字典中存在 key=文件名 的成员,是重复文件。(可以从字典中取出得另一个文件全路径作为输出消息)
  如果不存在,则当前文件加入字典。