哈希表被称为存储和检索数据的最快/最佳方式。
我对哈希表和散列的理解如下(如果我错了,请纠正我,如果有更多内容,请添加):
- 哈希表只是一个数组(单维或多维)用于存储值。
- 散列是查找数组中插入/检索数据的索引/位置的过程。将数据项作为键传递给哈希函数,就可以得到要插入/检索数据的索引/位置。
我有一个问题:
用于存储/检索数据的哈希函数是否与用于身份验证等安全应用程序中的加密哈希函数(例如MD5、HMAC、SHA-1等)不同?
它们有何不同之处?
- 如何在C语言中编写哈希函数?
- 有没有一些标准或准则?
- 如何确保哈希函数的输出即索引不超出范围?
如果您能提供一些了解这些问题的好链接,那就太棒了。