• Keine Ergebnisse gefunden

0: 1: 2: 2 3: 4: 5: 5, 93 6: 7: 8: 52 9: 9 10: 43

N/A
N/A
Protected

Academic year: 2022

Aktie "0: 1: 2: 2 3: 4: 5: 5, 93 6: 7: 8: 52 9: 9 10: 43"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datenstrukturen und Algorithmen SS17 Lösung - Übung 6 aa

Prof. Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer

Hausaufgabe4 (Hashtabelle Divisionsmethode): (5 + 1 = 6 Punkte)

a) Fügen Sie die folgenden Werte in ein anfangs leeres Array der Länge 11 unter Verwendung derDivisi- onsmethode ohne Sondierung (also durch Verkettung) ein:

2, 5, 9, 43, 52, 93.

b) Wie groß ist der Füllgrad der Tabelle?

Lösung:

a) m = 11:

0:

1:

2: 2 3:

4:

5: 5, 93 6:

7:

8: 52 9: 9 10: 43

b) Der Füllgrad ist 116

Hausaufgabe5 (Hashtabelle Multiplikationsmethode): (7 + 1 = 8 Punkte)

a) Fügen Sie die folgenden Werte in ein anfangs leeres Array der Länge 8 unter Verwendung derMultipli- kationsmethode (c= 0.62)ohne Sondierung (also durch Verkettung) ein:

3, 9, 6, 7, 97, 17, 77, 41.

b) Wie groß ist der Füllgrad der Tabelle?

1

(2)

Datenstrukturen und Algorithmen SS17 Lösung - Übung 6

Lösung:

a) m = 8, c = 0.62:

0:

1: 97 2: 7 3: 41 4: 9, 17 5: 6, 77 6: 3 7:

b) Der Füllgrad ist1

Hausaufgabe6 (Kollisionsauflösung durch Verkettung): (6 Punkte)

Ist es sinnvoll, die Listen zur Kollisionsauflösung in einer Hashtabelle sortiert zu halten? Begründen sie ihre Antwort, indem sie untersuchen, wie sich die asymptotische Laufzeit der Operationen Einfügen, erfolglose Suche,erfolgreiche Suche undLöschen, durch die Anpassung verändert. Gehen Sie davon aus, dass die Listen doppelt verkettet sind und dass beim Löschen ein Pointer auf das zu löschende Element übergeben wird.

Lösung:

• Einfügen benötigt nunO(α(n, m)), da sortiertes Einfügen in die Liste linear in der länge der Liste ist.

• Erfolglose Suche ist doppelt so schnell, da im Schnitt nach der Hälfte der Liste abgebrochen werden kann.

An der asymptotischen Laufzeit ändert dies nichts.

• Erfolgreiche Suche ist unverändert, da im Schnitt ebenfalls die halbe Liste durchsucht werden muss.

• Löschen ist unverändert, da Löschen in sortierten Listen gleich dem Löschen in unsortierten Listen ist.

Der Worst Case ist generell für die meisten Operationen unverändert, da dort die Hashtabelle zu einer Liste degeneriert. Nur Einfügen dauert hierO(n)stattO(1).

Damit ist diese Anpassung offensichtlich im Allgemeinen nicht sinnvoll. Sowohl im Average-Case, als auch im Worst-Case ist die Laufzeit für alle Operationen asymptotisch gleich oder schlechter. Die leicht beschleunigte erfolglose Suche bringt auch in der Praxis meistens keine Vorteile, da Kollisionen selten sind.

2

Referenzen

ÄHNLICHE DOKUMENTE

1) Karten mit schwarzen Zahlen der Reihe nach auslegen. Jeder schwarzen Zahl eine passende rote Zahl zuordnen, so dass das Ergebnis immer 10 ist. 2) Karten an zwei

Die Plättchennummer (entspricht der Aufgabennummer) und wird mit der entsprechenden Lösung auf das Nummernfeld gelegt.. Bei richtiger Lösung ergeben alle Plättchen ein Muster auf

Der Trainer ließt die Zahlen im Sekundentakt vor und das Kind wiederholt

mehr) und das Kind soll die richtige Reihenfolge mit seinen eigenen

a) At first, listen to the sentences. Look at the pictures. Point to the right picture. b) Now listen to the story again.. Put the pictures into the

[r]

[r]

Zeile: (7+1–4)·6=24 Finde zu möglichst vielen Kombinationen mindestens eine Lösung und