Sobes.tech
Junior — Middle

Können Sie das Funktionsprinzip einer Hashtabelle erklären und wie Daten darin gespeichert werden?

sobes.tech KI

Antwort von AI

Eine Hashtabelle ist eine Datenstruktur, die sehr schnellen Zugriff auf Daten anhand eines Schlüssels ermöglicht. Das Funktionsprinzip basiert auf der Verwendung einer Hash-Funktion, die den Schlüssel in einen Array-Index umwandelt, an dem der entsprechende Wert gespeichert ist.

Wenn ein Schlüssel-Wert-Paar gespeichert werden soll, berechnet die Hash-Funktion den Index, und die Daten werden in die Zelle des Arrays an diesem Index eingefügt. Bei der Suche nach einem Schlüssel berechnet die Hash-Funktion erneut den Index, und der benötigte Wert wird schnell gefunden.

Wenn zwei verschiedene Schlüssel denselben Index ergeben (Kollision), wird in der Regel die Verkettungsmethode verwendet: In der Zelle wird eine Liste aller Elemente mit diesem Index gespeichert, und die Suche erfolgt in dieser Liste.

Beispiel in Dart (Flutter):

void main() {
  Map<String, int> hashTable = {};
  hashTable['apple'] = 5;
  hashTable['banana'] = 3;

  print(hashTable['apple']); // 5
}

Hier ist Map eine Implementierung einer Hashtabelle, bei der der Schlüssel eine Zeichenkette ist und der Wert eine Zahl.