This commit is contained in:
krahets
2023-05-18 20:27:40 +08:00
parent 4cba4ae79a
commit 77c696bdf4
5 changed files with 13 additions and 13 deletions

View File

@ -2006,7 +2006,7 @@
<p>与线性探测相比,多次哈希方法不易产生聚集,但多个哈希函数会增加额外的计算量。</p>
<div class="admonition note">
<p class="admonition-title">哈希表设计方案</p>
<p>Java 采用「链式地址」。自 JDK 1.8 以来,当 HashMap 内数组长度大于 64 且链表长度大于 8 时,链表会被转换为红黑树以提升查找性能。</p>
<p>Java 采用「链式地址」。自 JDK 1.8 以来,当 HashMap 内数组长度达到 64 且链表长度达到 8 时,链表会被转换为红黑树以提升查找性能。</p>
<p>Python 采用「开放寻址」。字典 dict 使用伪随机数进行探测。</p>
<p>Golang 采用「链式地址」。Go 规定每个桶最多存储 8 个键值对,超出容量则连接一个溢出桶;当溢出桶过多时,会执行一次特殊的等量扩容操作,以确保性能。</p>
</div>