Duden/HashTabelle Kombinationen

Eintrag

Representiert einen Eintrag in einer HashTabelle.
  • dem öffentlichen S Schlüsse
  • der öffentlichen W Wert

Aliase

  1. ein Eintrag für <Schlüssel> mit Wert <Wert>
  2. einem Eintrag für <Schlüssel> mit Wert <Wert>
  3. einen Eintrag für <Schlüssel> mit Wert <Wert>

HashTabelle

    Aliase

      Keine Aliase definiert

    Duden/HashTabelle Funktionen

    FNV_Hash

    Gibt den FNV Hash für den Text t zurück.
    • Parameter: t
    • Parameter Typ: Text
    • Rückgabe Typ: Zahl

    Aliase

    1. der Hash von <t>

    Implementation

    Implementiert in libddpstdlib.a

    Zahl_Hash

    Gibt den Hash für die Zahl z zurück.
    • Parameter: z
    • Parameter Typ: Zahl
    • Rückgabe Typ: Zahl

    Aliase

    1. der Hash von <z>

    Implementation

        Gib z zurück.

    Kommazahl_Hash

    Gibt den Hash für die Kommazahl z zurück.
    • Parameter: z
    • Parameter Typ: Kommazahl
    • Rückgabe Typ: Zahl

    Aliase

    1. der Hash von <z>

    Implementation

    Implementiert in libddpstdlib.a

    Buchstaben_Hash

    Gibt den Hash für den Buchstaben b zurück.
    • Parameter: b
    • Parameter Typ: Buchstabe
    • Rückgabe Typ: Zahl

    Aliase

    1. der Hash von <b>

    Implementation

        Gib b als Zahl zurück.

    Wahrheitswert_Hash

    Gibt den Hash für den Buchstaben b zurück.
    • Parameter: w
    • Parameter Typ: Wahrheitswert
    • Rückgabe Typ: Zahl

    Aliase

    1. der Hash von <w>

    Implementation

        Gib w als Zahl zurück.

    Tabelle_Zu_Text

    • Parameter: tabelle
    • Generische Typen: W, S
    • Parameter Typ: S-W-HashTabelle
    • Rückgabe Typ: Text

    Aliase

      Keine Aliase definiert

    Implementation

        Der TextBauer b ist ein neuer TextBauer.
    
        Für jede Zahl i von 1 bis die Länge von einträge von tabelle, mache:
            [
            Wenn (einträge von tabelle an der Stelle i) ein leerer Eintrag ist, dann: 
                Füge "leer, " an b an.
                Fahre mit der Schleife fort.
            Wenn (einträge von tabelle an der Stelle i) ein Grabstein ist, dann: 
                Füge "Grabstein, " an b an.
                Fahre mit der Schleife fort.
            ]
            Wenn (einträge von tabelle an der Stelle i) leer oder ein Grabstein ist, dann: 
                Fahre mit der Schleife fort.
    
            Füge (Schlüssel von (einträge von tabelle an der Stelle i)) an b an.
             Füge ": " an b an.
            Der W w ist Wert von (einträge von tabelle an der Stelle i).
            Füge (w als Text) an b an.
    
            Wenn i ungleich die Länge von einträge von tabelle ist, füge ", " an b an.
    
        Gib b als Text zurück.

    Tabellen_Wert_Setzen

    • Parameter: tabelle, schlüssel, wert
    • Generische Typen: S, W
    • Parameter Typ: S-W-HashTabelle, S, W
    • Rückgabe Typ: Wahrheitswert

    Aliase

    1. Setze den Wert von <schlüssel> in <tabelle> auf <wert>
    2. setze den Wert von <schlüssel> in <tabelle> auf <wert>
    3. das Speichern von <schlüssel> mit Wert <wert> in <tabelle> einen neuen Schlüssel hinzugefügt hat

    Implementation

        Wenn länge von tabelle plus 1 größer als die Kapazität von tabelle mal MAXIMALER_LADUNGS_FAKTOR ist oder die Kapazität von tabelle gleich 0 ist, dann:
            Die Zahl neue_kapazität ist (die Kapazität von tabelle mal 2), falls die Kapazität von tabelle groesser als 0 ist, ansonsten 16.
            Passe die Kapazität von tabelle auf neue_kapazität an.
    
        Die Zahl eintrag_index ist der Index für schlüssel in tabelle.
        Der Wahrheitswert ist_neuer_schlüssel ist wahr, wenn eintrag_index für einen neuen Schlüssel in tabelle steht.
    
        Wenn ist_neuer_schlüssel, dann: 
            Erhöhe länge von tabelle um 1.
        Speichere einen Eintrag für schlüssel mit Wert wert in einträge von tabelle an der Stelle eintrag_index.
    
        Gib ist_neuer_schlüssel zurück.

    Tabellen_Wert_Lesen

    • Parameter: tabelle, schlüssel
    • Generische Typen: W, S
    • Parameter Typ: S-W-HashTabelle, S
    • Rückgabe Typ: W

    Aliase

      Keine Aliase definiert

    Implementation

        Wenn länge von tabelle plus 1 größer als die Kapazität von tabelle mal MAXIMALER_LADUNGS_FAKTOR ist oder die Kapazität von tabelle gleich 0 ist, dann:
            Die Zahl neue_kapazität ist (die Kapazität von tabelle mal 2), falls die Kapazität von tabelle groesser als 0 ist, ansonsten 16.
            Passe die Kapazität von tabelle auf neue_kapazität an.
    
    
        Die Zahl eintrag_index ist der Index für schlüssel in tabelle.
        Wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, dann:
            Gib den Standardwert von einem W zurück.
        Gib Wert von (einträge von tabelle an der Stelle eintrag_index) zurück.

    Tabelle_Hat_Schlüssel

    • Parameter: tabelle, schlüssel
    • Generische Typen: W, S
    • Parameter Typ: S-W-HashTabelle, S
    • Rückgabe Typ: Wahrheitswert

    Aliase

    1. <schlüssel> nicht in <tabelle> enthalten ist
    2. <schlüssel> in <tabelle> enthalten ist
    3. <tabelle> <schlüssel> nicht enthält
    4. <tabelle> <schlüssel> enthält

    Implementation

        Wenn länge von tabelle plus 1 größer als die Kapazität von tabelle mal MAXIMALER_LADUNGS_FAKTOR ist oder die Kapazität von tabelle gleich 0 ist, dann:
            Die Zahl neue_kapazität ist (die Kapazität von tabelle mal 2), falls die Kapazität von tabelle groesser als 0 ist, ansonsten 16.
            Passe die Kapazität von tabelle auf neue_kapazität an.
    
        Die Zahl eintrag_index ist der Index für schlüssel in tabelle.
        Gib falsch, wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, zurück.

    Tabellen_Wert_Löschen

    • Parameter: tabelle, schlüssel
    • Generische Typen: S, W
    • Parameter Typ: S-W-HashTabelle, S
    • Rückgabe Typ: W

    Aliase

    1. Lösche den Wert für <schlüssel> aus <tabelle>
    2. der gelöschte Wert für <schlüssel> in <tabelle>
    3. den gelöschten Wert für <schlüssel> in <tabelle>

    Implementation

        Wenn länge von tabelle plus 1 größer als die Kapazität von tabelle mal MAXIMALER_LADUNGS_FAKTOR ist oder die Kapazität von tabelle gleich 0 ist, dann:
            Die Zahl neue_kapazität ist (die Kapazität von tabelle mal 2), falls die Kapazität von tabelle groesser als 0 ist, ansonsten 16.
            Passe die Kapazität von tabelle auf neue_kapazität an.
    
    
        Die Zahl eintrag_index ist der Index für schlüssel in tabelle.
    
        Wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, dann:
            Gib der Standardwert von einem W zurück.
    
        Der W wert ist Wert von (einträge von tabelle an der Stelle eintrag_index).
        Speichere einen Grabstein ((der Standardwert von einem S), (der Standardwert von einem W)) in (einträge von tabelle an der Stelle eintrag_index).
        Gib wert zurück.

    Tabellen_Einträge

    • Parameter: tabelle
    • Generische Typen: S, W
    • Parameter Typ: S-W-HashTabelle
    • Rückgabe Typ: S-W-Eintrag Liste

    Aliase

    1. die Einträge von <tabelle>
    2. alle Einträge von <tabelle>

    Implementation

        Wenn länge von tabelle gleich 0 ist, gib eine leere S-W-Eintrag Liste zurück.
    
        Die S-W-Eintrag Liste einträge ist die Kapazität von tabelle Mal ein leerer Eintrag ((der Standardwert von einem S), (der Standardwert von einem W)).
        Die Zahl j ist 1.
        Für jede Zahl i von 1 bis die Länge von einträge von tabelle, mache:
            Wenn (einträge von tabelle an der Stelle i) nicht leer oder ein Grabstein ist, dann:
                Speichere (einträge von tabelle an der Stelle i) in (einträge an der Stelle j).
                Erhöhe j um 1.
        Gib einträge bis zum (j minus 1). Element zurück.