• Keine Ergebnisse gefunden

Übungen zur Vorlesung Grundlagen der Programmierung II Blatt 8

N/A
N/A
Protected

Academic year: 2021

Aktie "Übungen zur Vorlesung Grundlagen der Programmierung II Blatt 8"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übungen zur Vorlesung

Grundlagen der Programmierung II Blatt 8

Aufgabe 1:

Gegeben sei ein File h=x1,...,xn vom Typ integer. Eine Teilfolge xixi+1...xk von h heißt Lauf, falls xj≤xj+1 für 1≤j≤k-1. Der Lauf heißt maximal, falls zusätzlich gilt: xi-1>xi und xk>xk+1. Die Länge des Laufs ist k-i+1. Man schreibe eine PASCAL-Programm, das ohne Arrays auskommt und die Länge des längsten maximalen Laufs und dessen Elemente ausgibt.

Aufgabe 2:

a) Beschreiben Sie ein Algorithmus, der aus der Binärdarstellung einer natürlichen Zahl n die Zahl 2n berechnet.

Die Eingabe des Algorithmus ist die natürliche Zahl k und die Folge bk...b0 mit bi{0,1} {SONDZEICHEN 34 \f "Symbol" \s 12} i und bk=1. (die Binärdarstellung einer natürlichen Zahl)

Der Algorithmus soll im Einheitskostenmodell höchstens 2*[log n]+1 Multiplikationen benötigen. Dabei dürfen Multiplikationen nicht durch Folgen von Additionen oder Shift-Operationen ersetzt werden.

b) Für welche k+1 Bit Eingabefolge benötigt der konstruierte Algorithmus die meisten Multiplikationen?

c) Wenn man die realistische Annahme macht, daß eine Multiplikation a*b Aufwand in Höhe von [log a]+1+[log b]+1 im logarithmischen Kostenmodell verursacht, wie groß ist dann die Zeitkomplexität des in (a) konstruierten Algorithmus? Führen Sie einen exakten Beweis!

Anm. [...] steht für die Pascal-Operation trunc(), d.h. die Umwandlung eines real-Wertes in einen integer-Wert durch Abschneiden der Nachkommastellen.

Aufgabe 3:

Unter p Personen kursiert eine ansteckende Krankheit. Um die Kranken von den Gesunden zu trennen, werden von allen p Personen Blutproben entnommen und auf Viren untersucht. Offenbar kann man durch Analyse jeder einzelnen Probe feststellen, ob die zugehörige Person gesund oder krank ist. Dies erfordert insgesamt p langwierige Analysen.

(2)

Diese Prozedur möchte man beschleunigen. Statt daher alle p Proben einzeln auf Viren zu untersuchen, werden jeweils Teile mehrerer Proben zusammengeschüttet und analysiert. Die Analyse gibt dann Auskunft darüber, ob sich in der Gruppe wenigstens ein Kranker befindet, oder ob alle Personen der Gruppe gesund sind. Läßt sich durch geeignete Wahl der Gruppen die Anzahl der nötigen Analysen verringern?

Aufgabe 4:

Beweisen Sie:

a) Der Algorithmus A mit TA(n)=nk ist asymptotisch schneller als der Algorithmus B mit TB(n)=2n für alle n,k∈IN.

b) Für zwei Funktionen f,g: IN→IN mit f(n)>0 und g(n)>0 für alle n∈IN gilt:

max{f(n),g(n)}=O(f(n)+g(n))

c) Für zwei Funktionen f,g: IN→IN mit f(n)>0 und g(n)>0 und für alle n∈IN gilt:

f(n)+g(n)=O(max{f(n),g(n)})

Referenzen

ÄHNLICHE DOKUMENTE

Zuerst hängt man der Zeichenkette ein spezielles Zeichen an (im Beispiel verwenden wir das Dollarzeichen ($)). Man transformiert nun die Zeichenkette, indem man zunächst eine

Geben Sie ein Verfahren an, das zur Auswertung des Polynoms an der Stelle x 0 mit n/2 + 1 Multiplikationen und n/2

Eine Teppichfirma gibt auf den Endpreis für Auslegeware 5% Rabatt, wenn der Kunde für mindestens 100 DM von dem Teppich kauft. Die Preis des Teppichs ergibt sich aus

d) Funktionsparameter: eine Linkssequenz über einem Datentyp D und ein Objekt aus D, Funktionsergebnis: boolescher Wert, der anzeigt, ob das Objekt in der Liste vorkommt

b) Eine Funktion, die einen vollständigen Baum der Höhe n liefert, in dem jeder Knoten mit x markiert ist. Ein Baum der Höhe n heißt vollständig, wenn er 2 n -1 Knoten besitzt.. c)

Gegeben ist eine Dose (Spieldose), die anfangs schwarze und weiße Kugeln enthält, ferner eine Vorratsdose mit einem unbeschränkten Vorrat von weiteren schwarzen Kugeln.. Nun führt

Schreiben Sie nun für jedes Sprachelement aus PRO-0 ein Übersetzungsschema, also für lies, zeige, A←B op C, für die Konkatenation, für die Deklarationen (wie werden die

Finde die Multiplikationen und Divisionen zu jedem Punktefeld und schreibe sie