„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Lastfaktor und Aufwärmen

Lastfaktor und Aufwärmen

Veröffentlicht am 02.08.2024
Durchsuche:439

Load Factor and Rehashing

Der Ladefaktor misst, wie voll eine Hash-Tabelle ist. Wenn der Ladefaktor überschritten wird, erhöhen Sie die Größe der Hash-Tabelle und laden Sie die Einträge neu in eine neue, größere Hash-Tabelle. Dies nennt man Aufwärmen. Der Ladefaktor l (Lambda) misst, wie voll eine Hash-Tabelle ist. Es ist das Verhältnis der Anzahl von
Elemente auf die Größe der Hash-Tabelle, d. h. l = n / N, wobei n die Anzahl der Elemente und N die Anzahl der Stellen in der Hash-Tabelle bezeichnet.

Beachten Sie, dass l Null ist, wenn die Hash-Tabelle leer ist. Für das offene Adressierungsschema liegt l zwischen 0 und 1; l ist 1, wenn die Hash-Tabelle voll ist. Für das separate Verkettungsschema kann l ein beliebiger Wert sein.

Mit zunehmendem l steigt die Wahrscheinlichkeit einer Kollision. Studien zeigen, dass Sie den Auslastungsfaktor für das offene Adressierungsschema unter 0,5 und für das separate Verkettungsschema unter 0,9 halten sollten.

Für die Leistung des Hashings ist es wichtig, den Auslastungsfaktor unter einem bestimmten Schwellenwert zu halten. Bei der Implementierung der Klasse java.util.HashMap in der Java-API wird der Schwellenwert 0,75 verwendet. Immer wenn der Auslastungsfaktor den Schwellenwert überschreitet, müssen Sie die Größe der Hash-Tabelle erhöhen und alle Einträge in der Karte in einer neuen, größeren Hash-Tabelle neu aufbereiten. Beachten Sie, dass Sie die Hash-Funktionen ändern müssen, da sich die Größe der Hash-Tabelle geändert hat. Um die Wahrscheinlichkeit einer erneuten Aufbereitung zu verringern, sollten Sie die Größe der Hash-Tabelle mindestens verdoppeln, da dies kostspielig ist. Selbst bei regelmäßiger Aufbereitung ist Hashing eine effiziente Implementierung für Map.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/paulike/load-factor-and-rehashing-28mm?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3