4 Stimmen

Ist der Hashtable-Typ in C# implementiert unter Verwendung von Chaining oder Open Addressing?

Wenn offenes Adressieren verwendet wird, wie wird die Sondiersequenz generiert. Bitte geben Sie Links an

4voto

Jan Gray Punkte 3354

Es verwendet offenes Adressieren (oder wie wir früher sagten "geschlossenes Hashing") mit doppelter Hashfunktion, um die Sondenadresssequenz zu generieren. GetHashCode() bestimmt den ersten Sondenindex; das Intervall ist auch eine Funktion von GHC().

Sie können dies selbst sehen, wenn Sie zum Beispiel in den Quellcode von System.Collections.Hashtable.Add() einsteigen. [http://referencesource.microsoft.com/].

Viel Spaß beim Hacken!

2voto

TalentTuner Punkte 17031

Hashtable im .NET-Framework verwendet offenes Adressieren oder die Double-Hashing-Technik, während das Dictionary die Verkettung als Kollisionsvermeidungstechnik verwendet.

Siehe diesen Link bei MSDN

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X