哈希表的大小为什么最好为素数
因为在课件中看到了“哈希表的大小最好为素数”,好奇之下就在网上查了查资料探究一下,有什么错误欢迎在评论区指出~
1、哈希表基本概念
哈希表(也称‘散列表’),是为了加快数据查找速度的一种数据结构。基本原理为:将关键字输入哈希函数,通过计算得到哈希值(也称‘键’),通过这个哈希值到相应的存储结构(哈希表)中访问节点。
2、为什么哈希表大小最好为素数
看之前可以点击链接看看不同的观点.看完之后我个人内心想法:第一篇帖子说的挺有道理的,第二篇帖子完全看不懂QAQ。
接下来就通过简单的实例看一看吧
2.1实例分析
2.1.1 取哈希表大小(‘模’) M = 6 和 M = 7
6的因子:1、2、3、6
7的因子:1、7
2.1.2 取几种不同的Array
size | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Array1 | 1 | 3 | 5 | 7 | 9 | 11< |