C#Hashtable内部数据结构

前端之家收集整理的这篇文章主要介绍了C#Hashtable内部数据结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
全部 –

提出一个具体的问题,我最近碰巧,令人惊讶的没有找到任何令人信服的答案.

什么是C#Hashtable(和Dictionary – 内部使用Hashtable)利用的内部后台数据结构

所以在本质上 – 什么样的桶是存储在 – ArrayList,LinkedList(我知道这里不是这里的答案),树结构等关键值对.

不寻找碰撞策略等 – 只需一次计算哈希码 – Hashtable内部使用什么数据结构来存储此值?

任何解释或文章指针将真的有帮助.

解决方法

字典内部数据结构有一个很好的解释:
https://www.simple-talk.com/blogs/2011/09/16/the-net-dictionary/,对于HashTable来说也是如此

简而言之
散列表由两个数组组成:桶和条目

添加项目时,哈希码将以当前数组大小的形式生成,并确定该项目所存储的时隙.

但是,该插槽不是条目中的那个,它实际上是在桶中的那个.

散列索引中的桶中的值是数据实际存储在条目中的时隙的索引,并且简单地分配给数组中的下一个空闲时隙.

猜你在找的C&C++相关文章