Hashtabelle: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
*Die Bash verwaltet eine Hash-Tabelle, in der sie sich automatisch alle bereits aufgerufenen externen Kommandos zusammen mit deren absolutem Pfad merkt.  
+
* 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 Hash-Tabelle zu finden ist.  
+
* 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.
+
* Falls ja, verwendet sie den dort gespeicherten absoluten Pfad.
*Anderenfalls durchsucht sie die in PATH genannten Verzeichnisse nach dem Kommando.  
+
* Anderenfalls durchsucht sie die in PATH genannten Verzeichnisse nach dem Kommando.  
*Wurde es gefunden, ergänzt die Bash diesen Treffer in der Hash-Tabelle.
+
* Wurde es gefunden, ergänzt die Bash diesen Treffer in der Hashtabelle.
 +
 
 
=Anzeigen=
 
=Anzeigen=
 +
 
*hash
 
*hash
 
  hits command
 
  hits command
Zeile 10: Zeile 12:
 
     1 /usr/bin/id
 
     1 /usr/bin/id
 
     2 /usr/bin/sudo
 
     2 /usr/bin/sudo
=Löchen=
+
=Löschen=
 +
 
 
*hash -r
 
*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.

Aktuelle Version vom 31. Oktober 2023, 09:01 Uhr

  • 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.