Skip to main content

Was ist ein assoziatives Array?

Ein assoziatives Array, das auch als Hash -Tabelle oder Hash -Karte bezeichnet wird, ähnelt einem Standardarray, außer dass der Index des Arrays eine Zeichenfolge anstelle einer Ganzzahl sein kann.In vielen Datenbankanwendungen und in anderen Programmen, die sich mit großen Datenmengen befassen, ist ein assoziatives Array ein wichtiges Element für die Sortierung und Zugriff auf Informationen auf effiziente Weise.Im Kern eines assoziativen Arrays befindet sich ein Standardarray, das mit Ganzzahlen indiziert ist, wie es normalerweise der Fall ist.Ein spezieller Algorithmus, der als Hash -Funktion bezeichnet wird, wandelt den String -Index in einen Ganzzahlindex um, um den Wert zu ermitteln.Dies ist eine konsistente Konvertierung. Daher muss der tatsächliche Ganzzahl -Index nie gespeichert werden, sondern wird stattdessen jedes Mal aus der Zeichenfolge berechnet.

Die Terminologie, die bei Bezug auf ein assoziatives Array verwendet wirdein normales Array.Was würde normalerweise als Index Mdash bezeichnet werden;die numerische Position eines Elements in einem Array mdash;wird als Schlüssel bezeichnet.Die mit dem Schlüssel zugeordneten Daten werden als Wert bezeichnet.Dies bedeutet, dass innerhalb eines assoziativen Arrays ein Schlüssel mit einem Wert zugeordnet ist, der mit einem Index korreliert, das ein Element in einem Standardarray in der Datenstruktur bezieht.Dies ist ein Algorithmus, der verwendet wird, um den numerischen Index eines Werts basierend auf dem Schlüssel zu bestimmen.Es gibt verschiedene Arten von Hash -Funktionen, von denen einige für Tasten gearbeitet haben, die Ganzzahlen sind, und einige für die Arbeit an Schlüsseln, die Saiten sind.Im Falle eines GanzzahlschlüsselFür Schlüssel, die Saiten sind.Einige Methoden umfassen das Hinzufügen des numerischen Werts jedes Zeichens in der Zeichenfolge und die Teile durch eine Zahl oder verwenden nur die ersten Zeichen der Zeichenfolge, um eine eindeutige Zahl zu erhalten.Es gibt viele Möglichkeiten, eine Zahl aus einer Zeichenfolge abzuleiten.

Wenn es sich um eine große Menge an Schlüsselwertpaaren in einem assoziativen Array handelt, wird ein Problem, das auftreten kann, als Kollision bezeichnet.Kollision tritt auf, wenn der von einem Schlüssel abgeleitete Ganzzahlindex mit dem Ganzzahlindex eines anderen Schlüssels identisch ist.Diese beiden Schlüssel weisen dann effektiv auf denselben Index im Wert -Array hin.Es gibt verschiedene Lösungen für die Kollision, vor allem, weil es in den meisten praktischen Anwendungen eine hohe Wahrscheinlichkeit hat.

Eine Lösung für die Kollision besteht darinOrt kann der Standort mehr als einen Wert halten.Dies wird als Ketten bezeichnet und ist eine einfache Möglichkeit, eine Kollision zu behandeln, aber es kann auch die Zeit verlangsamen, die zum Abrufen der Informationen benötigt wird.Eine andere Methode des Umgangs mit einer Kollision wird als lineare Untersuchung bezeichnet.Wenn eine Kollision auftritt, bewegt sich die lineare Untersuchung durch das Wert -Array, bis ein nicht verwendeter Index gefunden wird.Diese Lösung kann dazu beitragen, die Daten gleichmäßig im assoziativen Array verteilt zu halten, aber sie kann auch die Zeit erhöhen, die erforderlich ist, um einen Wert zu suchen.