algorithm - 有没有一种方法可以生成一个单一的键来记住我们遇到的所有字符串

标签 algorithm hash key set

我正在处理数十万个文件,

我必须逐一处理这些文件, 为此,我需要记住已经处理过的文件。

我能想到的就是strong将每个文件的文件路径放在一个lo----ong数组中,然后每次检查是否重复。

但是,我认为应该有一些更好的方法,

我是否可以生成一个 KEY(这是一个数字)或其他东西,只记住所有已处理的文件?

最佳答案

您可以使用某种哈希函数(MD5、SHA1)。

伪代码:

for each F in filelist
    hash = md5(F name)

    if not hash in storage
        process file F
        store hash in storage to remember

参见 https://www.rfc-editor.org/rfc/rfc1321对于 MD5 的 C 实现

关于algorithm - 有没有一种方法可以生成一个单一的键来记住我们遇到的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141457/

相关文章:

python - 在 Python 中使用对象作为字典中的键 - 哈希函数

c++ - 如何在此添加此条件并使其达到最佳状态?

java - 如何在任何给定的三角形上使用 Pick 定理

ruby - 为什么 Ruby 的散列方法会因运行而异?

macos - 在全屏应用程序上禁用 Cmd-Opt-Escape

php - 如何使用开发人员 key 、应用程序 ID 和用户名在 php 中生成 token ?

algorithm - 修改二进制序列

algorithm - 通过一次更改、插入或删除一个字符将一个单词转换为另一个单词

php - 使用 PHP/mysql 进行简单、防弹的加密

java - 哈希字符串的字节转换,java 与 python