Тип Hashtable в C # реализован с использованием цепочки или открытой адресации? - PullRequest
4 голосов
/ 12 декабря 2010

Если открытая адресация, как генерируется последовательность зондов. Пожалуйста, дайте ссылки

Ответы [ 2 ]

4 голосов
/ 13 декабря 2010

Используется открытая адресация (или, как мы привыкли говорить, «закрытое хеширование») с двойным хешированием для генерации последовательности адресов зонда.GetHashCode () определяет первый индекс проверки;интервал также является функцией GHC ().

Вы можете убедиться в этом сами, если, например, войдете в исходный код System.Collections.Hashtable.Add ().[http://referencesource.microsoft.com/].

Счастливого взлома!

1 голос
/ 13 декабря 2010

Hashtable в .net Framework использует открытую адресацию или метод двойного хеширования, в то время как Dictionary использует Chaining в качестве метода предотвращения столкновения.

См. Эту ссылку @ MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...