哈希表被认为是存储/检索数据的最快/最佳方式。
我对散列表的理解,散列如下(如有错误请指正或如有补充请补充):
- 哈希表只不过是一个用于存储值的数组(单维或多维)。
- 散列是在数组中查找索引/位置以插入/检索数据的过程。您获取一个数据项并将其作为键传递给哈希函数,您将获得插入/检索数据的索引/位置。
我有个问题:
用于存储/检索数据的散列函数是否不同于安全应用程序中用于验证的加密散列函数,如 MD5、HMAC、SHA-1 等...?
它们在哪些方面不同?
- 如何用 C 编写散列函数?
- 是否有一些标准或指导方针?
- 我们如何确保哈希函数的输出,即索引不超出范围?
如果您能提及一些好的链接以更好地理解这些内容,那就太好了。