TU Wien:Algorithmen und Datenstrukturen 1 VU (Raidl)/Übungen SS09/Beispiel 23

Aus VoWi
Zur Navigation springen Zur Suche springen

Geben Sie den Zustand einer Hashtabelle der Länge 13 an, wenn die Schlüssel

in die anfangs leere Datenstruktur eingefügt wurden, und ein offenes Hashverfahren mit der Hashfunktion sowie

(a) linearem Sondieren (Schrittweite 2)

(b) quadratischem Sondieren ( = 2, = 4)

(c) Double Hashing

verwendet wurde.

Vergleichen Sie die Anzahl der beim Einfügen betrachteten Hashtabellenplätze für die angegebenen Sondierungsfunktionen.

Lösung[Bearbeiten | Quelltext bearbeiten]

Teil (a)[Bearbeiten | Quelltext bearbeiten]

  • 5 in 5 eingefügt
  • 1 in 1 eingefügt
  • 19 in 6 eingefügt
  • 23 in 10 eingefügt
  • 14 in 1 -> schon belegt -> lineare Sondierung -> in 3 eingefügt
  • 17 in 4 eingefügt
  • 32 in 6 eingefügt -> schon belegt -> lineare Sondierung -> in 8 eingefügt
  • 30 in 4 -> schon belegt -> lineare Sondierung -> in 6 -> schon belegt -> lineare Sondierung -> in 8 -> schon belegt - > lineare Sondierung -> in 10 -> schon belegt -> lineare Sondierung -> in 12 eingefügt
  • 2 in 2 eingefügt

Teil (b)[Bearbeiten | Quelltext bearbeiten]

  • 5 in 5 eingefügt
  • 1 in 1 eingefügt
  • 19 in 6 eingefügt
  • 23 in 10 eingefügt
  • 14 in 1 -> schon belegt -> quad. Sondierung -> in 7 eingefügt
  • 17 in 4 eingefügt
  • 32 in 6 -> schon belegt -> quad. Sondierung -> in 12 eingefügt
  • 30 in 4 -> schon belegt -> quad. Sondierung -> in 10 -> schon belegt -> quad. Sondierung -> in 11 eingefügt
  • 2 in 2 eingefügt

Teil (c)[Bearbeiten | Quelltext bearbeiten]

  • 5 in 5 eingefügt
  • 1 in 1 eingefügt
  • 19 in 6 eingefügt
  • 23 in 10 eingefügt
  • 14 in 1 -> schon belegt -> Double Hashing -> in 6 -> schon belegt -> Double Hashing -> in 11 eingefügt
  • 17 in 4
  • 32 in 6 -> schon belegt -> Double Hashing -> in 9 eingefügt
  • 30 in 4 -> schon belegt -> Double Hashing -> in 5 -> schon belegt -> Double Hashing -> in 6 -> schon belegt -> Double Hashing -> in 7 eingefügt
  • 2 in 2 eingefügt