• Keine Ergebnisse gefunden

Algorithmen und Komplexität Übungsblatt 1

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmen und Komplexität Übungsblatt 1"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

ETH Zürich

Institut für Theoretische Informatik

Prof. Dr. Angelika Steger, Dr. Johannes Lengler Florian Meier

HS 2019 Abgabe 24.09.2018

Algorithmen und Komplexität Übungsblatt 1

Zeit, Ort und Einteilung der Übungsgruppen sowie weitere Informationen stehen auf der Ho- mepage der Vorlesung (http://www.cadmo.ethz.ch/education/lectures/HS19/ac). Bitte lesen Sie auch alle Informationen auf der Homepage bezüglich Abgabe und Korrektur der Übungsblät- ter durch.

Bei Fragen zur Vorlesung oder zu den Übungen wenden Sie sich bitte direkt an die Übungslei- tung (meierflo@inf.ethz.ch).

? ? ?

In dieser Serie werden alle Aufgaben von den Assistenten korrigiert.

? ? ?

Aufgabe 1

Entscheiden Sie, ob folgende Aussagen zutreffen:

(a) lnn=Θ(log2n), wobei ln den natürlichen Logarithmus (zur Basise) bezeichnet, (b) n=O(log2n),

(c) n!=O(nn), (d) n!=Θ(nn), (e) 22n =O(2n),

(f) 1/n=O(1).

Aufgabe 2

Gegeben sei eine RAM-Maschine. Wir nehmen an, dass in der nullten Speicherzelle M0 = n gegeben ist und in den Speicherzellen M1, . . . , Mn natürliche Zahlen stehen. Vervollständigen Sie die folgenden Zeilen zu einem Programm, das die Zahlen inM1, . . . ,Mnverdoppelt.

Eingabe: nnatürliche Zahlen inM1, . . . ,MnsowieM0=n.

Ausgabe: Die Zahlen inM1, . . . ,Mnverdoppelt.

1:M−2←1 2:M−1←MM0

3:M−1←M−1+M−1

...

Aufgabe 3

In der Vorlesung haben Sie zwei Varianten für die Analyse der Laufzeit eines Algorithmus ken- nengelernt, das Einheitskostenmass und das logarithmische Kostenmass. Im Einheitskostenmass wird angenommen, dass jede arithmetische Operation Laufzeit 1 benötigt. Im logarithmischen Kostenmass wird angenommen, dass jede arithmetische Operation die Summe der Längen der Binärdarstellungen der involvierten Zahlen an Zeit benötigt. Das heisst, dass zum Beispiel die Addition oder Multiplikation zweier Zahlennundmunter Annahme des Einheitskostenmasses 1 Zeit benötigt und unter Annahme des logarithmischen Kostenmassesdlog2(n)e+dlog2(m)e

1

(2)

Zeit benötigt. Das Ziel dieser Aufgabe ist es drei Algorithmen, welche auf unterschiedliche Weise dien-te Fibonacci-Zahl berechnen, sowohl mit dem Einheitskostenmass als auch mit dem loga- rithmischen Kostenmass zu analysieren.

Die Fibonacci-ZahlenFnsind folgendermassen definiert:

F0:=0, F1:=1 und Fn :=Fn−1+Fn−2fürn≥2.

Sein = 2k eine Zweierpotenz. Die folgenden Algorithmen FIBA, FIBB und FIBC berechnen die n-te Fibonacci-Zahl (Machen Sie sich klar dass auch FIBC die n-te Fibonacci-Zahl berechnet).

Nehmen Sie für folgende Aufgaben an, dass die Laufzeit der Algorithmen proportional zur Zeit, welche für die Berechnung der arithmetischen Operationen werwendet wird, ist.

(a) Vergleichen Sie die Laufzeiten der drei Algorithmen unter Annahme des Einheitskosten- masses.

(b) Vergleichen Sie die Laufzeiten der drei Algorithmen unter Annahme des logarithmischen Kostenmasses.

(c) Welches Kostenmass ist für diese Algorithmen die vernünftigere Wahl?

(d) Beschreiben Sie in Worten, wie Algorithmus FIBC modifiziert werden kann, sodass er auch dien-te Fibonacci-Zahl berechnet, wennnkeine Zweierpotenz ist. Die asymptotische Lauf- zeit soll dabei unverändert bleiben.

Algorithm 1FIBA(n) ifn=0then

return0 else ifn=1then

return1 else

returnFIBA(n−1)+ FIBA(n−2) end if

Algorithm 2FIBB(n) ifn≤1then

return n end if A1:=0 A2:=1 F:=0

fori=2tondo F:=A1+A2

A1:=A2

A2:=F end for returnF.

A

BGABE DER

H

AUSAUFGABEN IN DER

V

ORLESUNG AM

24.09.2018.

2

(3)

Algorithm 3FIBC(n) ifn≤1then

return n end if k:=log2(n) A:=

1 1

1 0

fori=1tokdo A:= A2 end for returnA12.

3

Referenzen

ÄHNLICHE DOKUMENTE

f(n) := Anzahl der elementaren Operationen (Additionen und Multiplikationen) die für die Multiplikation zweier nxn Matrizen benötigt werden. Für eine 2 k x2 k

Für alle Knoten v aus V – W mit Markierung kleiner ∞ ist diese gleich einem kürzesten Pfad in dem Netzwerk auf den Knoten W U {v}; und es gibt einen solchen Pfad, der mit der Kante

Datensätze partitioniert in (paarweise disjunkte) Mengen, wobei jede Menge durch einen in ihr enthaltenen Datensatz repräsentiert

Prof. Angelika Steger, Dr. Breitensuche die Knoten des Graphen besucht, bezeich- nen wir hier als Tiefen- bzw. Die Tiefen- und Breitensuche haben einen gewissen Freiheitsgrad,

Ausserdem dürfen der Wolf und die Ziege sowie die Ziege und der Korb Kohl nie allein auf einer Seite des Flusses sein, da sonst der Wolf die Ziege bzw.. die Ziege den Korb

(a) Formulieren Sie einen Algorithmus, der in polynomieller Zeit den Wert ∑ i∈I p i einer optima- len Lösung berechnet und beweisen Sie die Korrektheit des Algorithmus. (b) Wie muss

Erklären Sie auch, wie die Ope- rationen F IND , I NSERT und D ELETE angepasst werden müssen, und begründen Sie dabei auch, dass die Laufzeit dieser Operationen nach wie O ( log n

b) Zeigen Sie, dass jede boolsche Funktion durch eine DNF-Formel (d.h. boolsche Formel in disjunktiver Normalform, siehe Definition 5.8) dargestellt werden kann.. c) Zeigen Sie,