C#中的Hashtable类型是使用链接还是开放寻址实现的?

时间:2010-12-12 17:52:23

标签: algorithm data-structures

如果打开寻址,如何生成探测序列。请给出链接

2 个答案:

答案 0 :(得分:4)

它使用开放寻址(或者我们曾经说过,“封闭散列”)和双重散列来生成探测地址序列。 GetHashCode()确定第一个探测索引;间隔也是GHC()的函数。

如果您单步进入System.Collections.Hashtable.Add()的源代码,您可以自己查看。 [http://referencesource.microsoft.com/]。

快乐的黑客攻击!

答案 1 :(得分:1)

.net框架中的Hashtable使用开放寻址或Double Hashing技术,而Dictionary使用Chaining作为冲突避免技术。

See this link @ MSDN