首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哈希表-为给定的键计算哈希的频率是多少?

哈希表-为给定的键计算哈希的频率是多少?
EN

Stack Overflow用户
提问于 2013-08-31 01:47:17
回答 2查看 38关注 0票数 0

我是在一次面试中被问到这个问题的。我的直接回答是每次读写。然后,面试官问道:“您确定散列没有缓存在表中的某个地方吗?”

这让我对自己产生了怀疑。最后,我坚持我最初的答案,但出于好奇心,我想我应该回答这里的问题。

还要注意的是,这个面试是针对JavaScript职位的,但问题不一定是针对JavaScript的。

那么,一般来说,键的散列是计算一次还是每次读/写都计算?具体到JavaScript又如何呢?

EN

回答 2

Stack Overflow用户

发布于 2013-08-31 01:56:26

当然,这取决于实现方式,即使您询问JS,也有几种实现方式(V8、SpiderMonkey、MSFT等)。

它还应该取决于应用程序。如果您的应用程序更频繁地使用放入哈希表的最后一项,那么以某种方式缓存哈希应该是有意义的。在某些情况下,这会更好。

我猜面试官只是想看看你是如何处理事后批评的。

票数 1
EN

Stack Overflow用户

发布于 2013-08-31 02:56:01

这取决于哈希表和键类型,以及我们讨论的是用于读/写的键还是表中已有的键。前者的散列值可以并且有时被缓存在对象中(例如:Python中的字符串)。后者的散列值可以,有时也会缓存在表中-而不是键,值对,您存储散列,键,值三元组。

在这两种情况下,决定取决于密钥的类型:它们是否很大且散列成本很高?是否值得额外的空间和内存流量?例如,对于超过几十个字符的字符串,这可能是一个明显的胜利,而对于2D点来说,它可能是无用的或有害的。还要注意,散列值可以用来避免比较,这可能很有用,但似乎不那么重要。

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

https://stackoverflow.com/questions/18538713

复制
相关文章

相似问题

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