哈希表空间换时间原理

   哈希表原理不再冗述,以下只记录关键原理。

   哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发生哈希冲突,体现不出哈希表的效率。所以,我们设计的哈希表的大小,必须要做到尽可能地减小哈希冲突,并且也要尽可能地不浪费空间,选择合适的哈希表的大小是提升哈希表性能的关键。

   简而言之,哈希表的效率关键在于采用的哈希算法和哈希冲突。哈希冲突越低,效率越高。为了降低哈希冲突,需要采用大于实际存储数据数量的哈希表,这就是空间换时间的原理。

  哈希表在STL中采用桶节点作为内存模型。
 

发布了14 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u010810750/article/details/104119273