首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当多个key与链接节点一起存储时,哈希表get(key)是如何工作的?

当多个key与链接节点一起存储时,哈希表get(key)是如何工作的?
EN

Stack Overflow用户
提问于 2016-01-18 09:28:42
回答 1查看 35关注 0票数 1

我知道哈希表是如何工作的。但我不确定在链表的帮助下,当多个值存储在同一位置时,get(key)的可能实现。例如: set(1,'Val1') get存储在索引7。set(2,'Val2')也存储在索引7。(内部实现在索引7创建一个链表和存储指针。这是可以理解的)。

但是我在想,如果现在我调用get(2)。哈希表是如何知道返回哪个值的?因为我的散列函数会将其解析为索引7,但在索引7处有2个值。一种可能的方法是在链接的节点上存储value和key。是否可能有其他不同的实现?

EN

回答 1

Stack Overflow用户

发布于 2016-01-18 09:32:59

浏览链表,对关键字“2”进行线性搜索。哈希函数的属性和哈希表的大小应该保证这些列表的平均长度为O(1)。

我想你误解了哈希表必须存储它们的键的事实。散列函数仅用于加速插入/查找。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34845942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档