Folgende 3 Pseudo Codes habe ich analysiert, bin mir jedoch nicht ganz sicher ob meine Ergebnisse ganz richtig sind.
Mein Problem ist hier, dass mir die Zuweisung in der for Schleife nicht ganz klar ist. Im ersten Teil (in while) wird a, n-1 mal ein Wert zugewiesen. a muss allerdings immer größer 1 sein weil i ja schon bei 1 startet. Die for Schleife würde dann keinen Beitrag leisten und das Ergebnis wäre Theta(log(n)).
Die for Schleife läuft einfach bis zu einem konstanten n, also gilt Theta(n). i wird außerdem zu n wenn ich für b einsetzte und somit lautet das Ergebnis Theta(n*log(n)).
Das letzte Beispiel lautet:
Hier bin ich etwas ratlos. Ist das nicht eine Endlosschleife?
Ich hoffe ihr könnt meine Ergebnisse bestätigen. Danke schon mal.
Code:
i <-- 1
x <-- 1
while i<n
a<--4*i
for j=a,....1
x<--x+j
i<--a/2
Mein Problem ist hier, dass mir die Zuweisung in der for Schleife nicht ganz klar ist. Im ersten Teil (in while) wird a, n-1 mal ein Wert zugewiesen. a muss allerdings immer größer 1 sein weil i ja schon bei 1 startet. Die for Schleife würde dann keinen Beitrag leisten und das Ergebnis wäre Theta(log(n)).
Code:
a<--1
b<--1
for c=1....(1/2)log_2(n)
a<--4a
b<---c
a<--a/2
i<--2^(2b)
while i>1
i<--i/2
Das letzte Beispiel lautet:
Code:
a<--n^3
b<--1
while a>1
b<--b+1
c<--n
do
a<--b/2
c<--(2c)/n
b<--b/n
while c>=n
Ich hoffe ihr könnt meine Ergebnisse bestätigen. Danke schon mal.