• Keine Ergebnisse gefunden

Aufgabe2(Suchen, 5Punkte ) Aufgabe1(Schleifeninvarianten–GGT, 2+3Punkte ) AbgabeinderÜbungam4.05/5.05.2010 ÜbungenzuInformatikII-Blatt4

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe2(Suchen, 5Punkte ) Aufgabe1(Schleifeninvarianten–GGT, 2+3Punkte ) AbgabeinderÜbungam4.05/5.05.2010 ÜbungenzuInformatikII-Blatt4"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann

David Mainzer

TU Clausthal Institut für Informatik

29. April 2010

Sommersemester 2010

Übungen zu Informatik II - Blatt 4

Abgabe in der Übung am 4. 05 / 5. 05. 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 (Schleifeninvarianten – GGT, 2+3 Punkte)

Gegeben ist der Python-Code für die Bestimmung des größten gemeinsamen Teilers:

# Berechnet den größten gemeinsamen Teiler von wert1 und wert2 a = wert1

b = wert2 while a != b:

if a > b:

a = a-b else:

b = b-a

print ’Der größte gemeinsame Teiler von’, wert1, ’ und ’, wert2, \

’ ist ’, a

a) Bestimmen Sie die Schleifen-Invariante (prädikatenlogische Formel).

b) Beweisen Sie die Korrektheit des Algorithmus.

Tip: Schauen Sie sich die Folien 13 im Kapitel „Spezifikation, Algorithmus, Programm“ und das Kapitel „Schleifeninvarianten“ an.

Aufgabe 2 (Suchen, 5 Punkte )

Vergleichen Sie die lineare, binäre und exponentielle Suche sowie Interpolation Search miteinander.

Implementieren Sie dazu die Suchalgorithmen in Python und fügen Sie Ihre Implementation in das Framework zur Laufzeitmessung ein, das auf der Vorlesungs-Homepage bereit steht. Messen Sie die Zeit, die die Algorithmen zur Suche in unterschiedlich großen, sortierten Floating-Point-Arrays benötigen.

Erstellen Sie eine Tabelle mit den Laufzeiten für verschiedene Arraygrößen und ermitteln Sie auf Ihrem Rechner:

Wann ist die binäre Suche schneller als die lineare Suche?

Wann ist die Interpolation Search schneller als die binäre Suche?

Wann ist die exponentielle Suche schneller als die binäre Suche?

1

(2)

Aufgabe 3 (Komplexität, 3 Punkte)

Geben Sie für die folgenden Paare an, welche der BeziehungenO; undunter ihnen gelten.

(a) n2+ 2n + 1 100n2+ log n (b) log (n!) log (nn) Begründen Sie Ihre Antworten.

Aufgabe 4 (Komplexität, 3 Punkte)

Geben Sie zu jeder Aussage an, ob sie sinnlos, falsch, oder wahr ist (falsch = sinvoll, aber nicht wahr).

(a) O(n) 2 O(n2log n) (b) n22 (n)

Begründen Sie Ihre Antworten.

Tip: Bei manchen Aussagen genügt die Angabe eines Gegenbeispiels.

Aufgabe 5 (Komplexität, 2+2 Punkte)

Gegeben sei die Funktionf

a) Zeigen Sie, daßO(kf) = O(f)fürk konstant gilt.

b) Zeigen Sie, daßlogan 2 (logbn)füra; bkonstant gilt.

2

Referenzen

ÄHNLICHE DOKUMENTE

Zeichnen Sie den Szenengraphen, der solch eine Figur darstellt, wobei die kanonische Abhangigkeit der Teile berucksichtigt werden soll. Abbildung

In der Vorlesung haben Sie gelernt, dass bei der Synchronisation mehrerer Renderer, die auf mehreren PCs laufen, und zusammen ein Display treiben (z.B. eine Powerwall), sowohl

In dieser Aufgabe soll ein Algorithmus zur Wechselgeldruckgabe entwickelt werden. Dabei soll ein fester Betrag zwischen 0 und 100 Cent gewechselt werden. Ziel ist es, mit

  Verdoppelung der Datenmenge - lineare Suche: doppelter Aufwand - binäre Suche: ein weiterer Vergleich.   Bei kleinen Datenmengen (n≈10) ist lineare

Eine weitere Möglichkeit ist die Verwendung des Mittelwerts des ersten und des letzten Elements als Pivot-Wert: pivot := b(a[l]:key + a[r]:key)=2c. Sortieren Sie die oben

Sie können davon ausgehen, dass eine Routine zur Berechnung des nähesten Schnittpunktes zwischen einem Geradensegment und einer Menge von achsenparallelen Rechtecken vorhanden

Die Abbildung 1 zeigt ein Beispiel für einen Patricia-Trie (eine Erläuterung was ein Patricia-Trie ist, befindet sich am Ende des Übungsblattes).. Gehen Sie davon aus, dass wir

a) Leiten Sie das in der Vorlesung erw¨ ahnte Verfahren (Folien 34-36) zur inkrementellen Interpolation von Attributen f¨ ur Geraden her. Gehen Sie der Einfachheit halber davon aus,