Hashtabelle

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
  • Die Bash verwaltet eine Hash-Tabelle, in der sie sich automatisch alle bereits aufgerufenen externen Kommandos zusammen mit deren absolutem Pfad merkt.
  • Wenn ein externes Kommando aufgerufen werden soll, prüft die Bash zuerst, ob dieses Kommando in der Hashtabelle zu finden ist.
  • Falls ja, verwendet sie den dort gespeicherten absoluten Pfad.
  • Anderenfalls durchsucht sie die in PATH genannten Verzeichnisse nach dem Kommando.
  • Wurde es gefunden, ergänzt die Bash diesen Treffer in der Hashtabelle.

Anzeigen

  • hash
hits	command
   1	/usr/bin/ls
   1	/usr/bin/id
   2	/usr/bin/sudo

Löschen

  • hash -r

Vorteile der Hashtabellen generell

  • Hashtabellen ermöglichen schnellen Zugriff auf Daten durch die Verwendung einer Hash-Funktion.
  • Einfügungen und Löschungen von Schlüssel-Wert-Paaren erfolgen in der Regel in konstanter Zeit.
  • Hashtabellen sind vielseitig einsetzbar und anpassbar an verschiedene Programmieranforderungen.
  • Die durchschnittliche Zeitkomplexität für Schlüsseloperationen beträgt O(1).
  • Sie nutzen vergleichsweise wenig Speicher, da sie keinen zusätzlichen Overhead verwenden.
  • Ein Lastenausgleich sorgt für eine gleichmäßige Verteilung von Daten.
  • Hashtabellen können dynamisch wachsen oder schrumpfen, um die Leistung beizubehalten.
  • Kollisionen werden durch Mechanismen wie Verketten oder offenes Adressieren gelöst.
  • Die Leistung von Hashtabellen ist in der Regel vorhersehbar und konsistent.
  • Sie finden Anwendung in Hochleistungsanwendungen wie Datenbankindizierung und Caching-Systemen.