c#为什么字典容量是素数?
涉及字典的内bai部实现方法。
字典在内部是通过hash表来实现查du找zhi的,而查找树在数据结构上采用了有序二叉树与“dao哈希桶”的一种数据结构来管理元素。
在每个哈希桶里,为了能快速找到一个元素是否存在于此桶,需要为每一个元素进行哈希编码,哈希编码常常采用除余法,也就是说,对于一个给定的a值, 其哈希码h = a mod p, 当这个p是一个素数时,h的冲突机率最少,查找速度也就最快。试想,如果是一个偶数的话,就会有更多情况下的余数冲突。
如果能将a保存到一个桶里的h值对应的下标的话,就可以用h直接
原创
2020-07-13 09:14:09 ·
443 阅读 ·
0 评论