Thema: Delphi Array durchsuchen

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

AW: Array durchsuchen

  Alt 12. Sep 2010, 17:43
Eine Hashliste sagt mir nicht viel, aber eine Hashmap oder auch Assoziativarray ist eine Struktur, bei der die Daten schon an der richtigen Stelle liegen.

Dabei kommt der Hashfunktion eine zentrale Bedeutung zu: Sie berechnet aus dem Schlüssel direkt die Adresse der Daten. Hier wird also nichts gesucht oder ein Array durchlaufen.

Idealerweise findet man in einer Hashmap die Daten so:
GesuchteDaten := Daten[HashFunktion(Schluessel)]; .

Wobei 'Daten[]' hier ein irgendwie dimensioniertes Array darstellt und die Hashfunktion so dermaßen genial ist, das sie die richtige Stelle für einen gegebenen Schlüssel ausrechnet.

In der Praxis ist es natürlich nicht so einfach, eine dermaßen superdupergeile Funktion zu implementieren, weshalb man zu diversen Tricks greifen muss, um die Suche trotzdem fast so einfach wie oben beschrieben durchzuführen.

Also: Eine Hashmap wird nicht durchsucht und ist somit hinsichtlich der Performance beim Einfügen und Suchen optimal.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")

Geändert von alzaimar (12. Sep 2010 um 17:50 Uhr)
  Mit Zitat antworten Zitat