• Keine Ergebnisse gefunden

Abgabe in der Übung am 8. 06 / 9. 06. 2010

N/A
N/A
Protected

Academic year: 2021

Aktie "Abgabe in der Übung am 8. 06 / 9. 06. 2010"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann

David Mainzer

TU Clausthal Institut für Informatik

2. Juni 2010

Sommersemester 2010

Übungen zu Informatik II - Blatt 8

Abgabe in der Übung am 8. 06 / 9. 06. 2010

Bitte beachten Sie, dass die Programmieraufgaben von Ihnen in der Übung vorgeführt und er- klärt werden müssen. Zusätzlich senden Sie die Lösung, unter Angabe ihres Namens, andm@tu- clausthal.de.

Aufgabe 1 (Hashtabellen in Python, 0.5+4.5+2 Punkte)

Schreiben Sie ein Programm, welches Hashing mit ha;m(x) = x mod m implementiert. Für die Kollisionsbehandlung soll Open Addressing mit linearer Sondierung (s( j ,k)=j) verwendet werden.

Implementieren Sie dazu:

a) eine KlasseTableEntry, welche die Datenstruktur für einen Eintrag der Hashtabelle enthält, b) eine KlasseHashTable, welche die Hashtabelle selbst implementiert. Die Klasse soll die Funktion

h( self ,key), s( self , j ,k), insert ( self ,key)und delete ( self ,key)enthalten.

Schreiben Sie ein Testprogramm, welches die Hashtabelle mit gleichverteilten Zufallszahlen zu 50%

füllt und danach2mmal abwechselnd ein neues Element in die Hashtabelle einfügt und ein Element aus der Hashtabelle löscht, d.h. 4m( insert (), delete ()). Auch hier sollen je ein zufälliger Werte eingefügt und ein zufällig gewähltes Element, das in der Hashtabelle enthalten ist, gelöscht werden.

Geben Sie die Anzahl der Kollisionen für insert und delete aus. Führen Sie die Tests für m = 11, 101 und 1009 durch. Mitteln Sie je 10 Werte (Anzahl an Kollisionen) für m = 1009.

Aufgabe 2 (Worst-Case-Betrachtung, 2 Punkte)

Wie viele Schritte werden im schlechtesten Fall benötigt um in eine anfangs leere Hashtabelle n Schlüssel einzufügen, wenn für die KollisionsbehandlungChainingverwendet wird? Wie viele Schritte benötigt man um nach jedem derneingefügten Schlüssel einmal zu suchen?

Aufgabe 3 (Divisions-Rest-Methode, 1+2 Punkte)

Betrachten Sie die Hashfunktionha;m(x) = (ax) mod m, mitmprim.

a) Zeigen Sie, daßfha;mj0 a < mg = fha;mja 2 Zg.

b) Zeigen Sie weiterhin, daß ha;m(x); x = 0; 1; 2; 3; : : : mit a 6= cm; c 2 Z, Periode m hat und jede Periode eine Permutation von(0; 1; : : : ; m 1)darstellt. D.h. solch einhist eine gute Hash- Funktion, falls die Keys alle in [0; m 1] liegen, oder gleichverteilt aus Z kommen, aber eine schlechte Hash-Funktion, falls die Keys alle in der Nähe vonbZ liegen.

1

(2)

Aufgabe 4 (Quadratisches Sondieren, 2 Punkte )

Zeigen Sie, dass die mittlere Anzahl von Hashtabellenplätzen, die bei einer erfolgreichen Suche (mit gleicher Wahrscheinlichkeit für alle Schlüssel) inspiziert werden, bei Hashing mit linearem Sondieren nicht von der Reihenfolge abhängt, in der die Schlüssel in die anfangs leere Hashtabelle eingefügt worden sind. Gilt die entsprechende Aussage auch für quadratisches Sondieren?

2

Referenzen

ÄHNLICHE DOKUMENTE

Küchenutensilien und -geräte Bildern die passenden Wörter zuordnen H&amp;L ★ 25 Küchenarbeit Sätze (Französisch/Deutsch) verbinden H&amp;L ★★ 26 Zubereitung einer

Ich werde als in kleinem Geschäft arbeiten.. Monika wird als im

Damit die Kosten zum Abfahrtstermin nicht auf einmal bezahlt werden müssen, sollen die Schülerinnen und Schüler den Gesamtbetrag in den nächsten zehn Monaten in gleichen Raten in

Schüler*innen, die sich für künstlerische Problemstellungen interessieren, auch über den Regelunterricht hinaus gerne kreativ sind, bereitwillig und schon erfahren mit Stiften und

Kraftfahrzeuge - ausgenommen Kraftfahrzeuge der Klassen AM, A1, A2 und A mit einer zulässigen Gesamtmasse von nicht mehr als 3.500 kg, die zur Beförderung von nicht mehr als

Der Zustand eines Fahrzeugs zum gegebenen Zeitpunkt wird durch zwei ganze Zahlen beschrieben: Die erste Zahl beschreibt seinen aktuellen Standort auf der Straße und die zweite Zahl

Der rabattierte Preis wird Ihnen an der Kasse angezeigt | Die Euro-Preise gelten in der Bundesrepublik Deutschland | Preise freibleibend, Stand 1.1.2022 | Es gelten unsere

Ein idealer Würfel hat auf einer Seite die “1” auf zwei Seiten die “2” und auf drei Seiten die “3”, man kann also nur 1, 2 oder 3 würfeln und jede der Zahlen hat eine