【发布时间】:2015-11-19 05:41:35
【问题描述】:
我正在做一个实验室来介绍 C++,我们已经开始使用用户名和密码数据库,我的教授希望我们在其中使用动态分配的 LinkedLists 数组实现哈希图。我只是想确认一下我在做什么,这样我就知道我做得对......
1) 存储桶是存储信息的地方。我假设每个存储桶都是一个单独的 LinkedList。
2) 哈希函数 % number of buckets 将决定我在数组中使用哪个索引来存储用户和密码信息。
3) Key-Value ...我对此有点困惑。密钥是我的用户名,值是我的密码吗?
4) 负载因子是存储的键数除以桶数。所以在我的例子中,如果我有 50 个用户存储在我的 hashmap 中,会是 50/100 吗?我很难理解这个概念。这是否意味着有时不会使用每个存储桶?
【问题讨论】:
-
你的教授拒绝回答这些问题,也没有向你介绍哈希图的概念?
-
他对它们很模糊。如果您不想回答这些问题,请随时继续。不,他没有。
-
他给出了理论上的解释,但没有太身临其境的感觉。
-
“桶”是什么意思,这不是 C++ 术语。链表是std::list、数组(可能)std::array 和hashmap std::map。可以阅读这些天的结构来回答您的问题。是的,你的老师应该和那些问题,但这不是你的错。
-
我完全可以按照自己的方式继续前进。这意味着,我想指出您甚至没有发布任何自己的代码。
标签: c++ linked-list hashmap