我只是想知道是否有一些"标准"每个人都使用的示例作为解释需要哈希表的问题性质的基础。现实世界中有哪些众所周知的问题可以从使用哈希表中获得巨大好处?
* 编辑:此外,还有一些背景或解释为什么问题的性质会受益于哈希表会有所帮助!感谢
答案 0 :(得分:8)
一个现实世界的例子:假设我在酒店待了几天,因为我参加了哈希大会。在一天结束的时候,当我回到酒店时,我会询问前台服务员是否有任何消息给我。在他的背后是一个类似鸽舍的橱柜,有26个条目,标记为A到Z.因为他知道我的姓氏,他去了标有W的插槽,并拿出三个字母。一个是罗比威廉姆斯,一个是吉米韦伯,一个是给我。
店员只需检查三个字母。如果只有一个信箱,他需要检查多少封信?
答案 1 :(得分:2)
当我想要内存中的用户记录可通过ID搜索时。
另一种选择是列表。但每次我都要循环找到用户。哈希表只会在一次调用中给我一个用户对象。
答案 2 :(得分:2)
缓存,如果有新数据进入,我们会使用密钥覆盖现有记录。所以基本上缓存将用于存储最新状态。
答案 3 :(得分:0)
任何时候你有一个键(或属性)值列表,你应该想到哈希表(AKA:关联数组):
foo['bar']="baz";
surname['joe']="shmoe";
Hashtables概括了1Darrays的概念(其中键是顺序整数,哈希函数是标识),其中键值可以是任何东西,哈希函数是......好吧,这几天你不是经常看到,因为大多数语言都会用类似于上面语法的语法隐藏你眼中的哈希细节。
答案 4 :(得分:0)
去溜冰时,将鞋子换成溜冰鞋。他们拿起您的鞋子,将它们放入包含您的尺码的溜冰鞋盒中,然后给您溜冰鞋和一个令牌,令牌中包含大小(哈希)和鞋对号(哈希框中的元素)。