“`参考回答:

hash表的实现主要包括构造哈希和处理哈希冲突两个方面:

对于构造哈希来说,主要包括直接地址法、平方取中法、除留余数

法等。

对于处理哈希冲突来说,最常用的处理冲突的方法有开放定址法、再哈希法、链地址法、建立公共溢出区等方法。SGL版本使用链地址法,使用一个链表保持相同散列值的元素。

虽然链地址法并不要求哈希桶长度必须为质数,但SGI STL仍然以质数来设计哈希桶长度,并且将28个质数(逐渐呈现大约两倍的关系)计算好,以备随时访问,同时提供一个函数,用来查询在这28个质数之中,“最接近某数并大于某数”的质数。

“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.