Despite being one of the oldest data structures in computer science, hash tables continue to be the focus of a great deal of both theoretical and empirical research. A central reason for this is that many of the fundamental properties that one desires from a hash table are difficult to achieve simultaneously; thus many variants offering different trade-offs have been proposed. This paper introduces Iceberg hashing, a hash table that simultaneously offers the strongest known guarantees on a large number of core properties. Iceberg hashing supports constant-time operations while improving on the state of the art for space efficiency, cache efficiency, and low failure probability. Iceberg hashing is also the first hash table to support a load factor of up to $1 - o(1)$ while being stable, meaning that the position where an element is stored only ever changes when resizes occur. In fact, in the setting where keys are $\Theta(\log n)$ bits, the space guarantees that Iceberg hashing offers, namely that is uses at most $\log \binom{|U|}{n} + O(n \log \log n)$ bits to store $n$ items from a universe $U$, matches a lower bound by Demaine et al. that applies to any stable hash table. Iceberg hashing introduces new general-purpose techniques for some of the most basic aspects of hash-table design. Notably, our indirection-free technique for dynamic resizing, which we call waterfall addressing, and our techniques for achieving stability and very-high probability guarantees, can be applied to any hash table that makes use of the front-yard/backyard paradigm for hash table design.


翻译:尽管散列表是计算机科学中最古老的数据结构之一,但散列表仍然是大量理论和实证研究的重点,其中心原因是,人们从散列表所渴望的许多基本属性很难同时实现;因此提出了许多不同权衡的变体。本文介绍的是冰山散列,这是一个同时为大量核心属性提供已知最有力的保障的散列表。冰山散列支持了固定时间操作,同时改善了空间效率、缓存效率和低失灵概率的间接状态。冰山散列也是第一个支持最高为1- o(1)美元的负载因数的概率表,这意味着当变换时,某个元素的存储位置总是发生变化。事实上,在键为$Theta(log n) 位的环境下, 冰山列所提供的空间保证, 也就是在最高级空间模式中用于空间效率、缓冲率和低故障概率。 +欧冰山散列(n) 在基本设计技术上,我们最先变序的变序/变序中, 某些变序的变序表可以用于最低的变式表。

0
下载
关闭预览

相关内容

专知会员服务
96+阅读 · 2021年9月21日
专知会员服务
27+阅读 · 2021年7月3日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
52+阅读 · 2020年9月7日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
193+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
已删除
将门创投
3+阅读 · 2018年6月20日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【音乐】Attention
英语演讲视频每日一推
3+阅读 · 2017年8月22日
Arxiv
0+阅读 · 2021年10月31日
Arxiv
0+阅读 · 2021年10月29日
Arxiv
6+阅读 · 2020年3月16日
Arxiv
3+阅读 · 2019年8月19日
Arxiv
3+阅读 · 2018年10月18日
VIP会员
相关VIP内容
专知会员服务
96+阅读 · 2021年9月21日
专知会员服务
27+阅读 · 2021年7月3日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
52+阅读 · 2020年9月7日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
193+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
已删除
将门创投
3+阅读 · 2018年6月20日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【音乐】Attention
英语演讲视频每日一推
3+阅读 · 2017年8月22日
Top
微信扫码咨询专知VIP会员