Hallo brauche kurz eine Rückmeldung für folgende Aufgabe (Pseudocode):
Da soll man jetzt eine exakte Laufzeitanalyse durchführen, ich habe folgendes raus
1. 1
2. n+1
3. n*((n+1)/2) (Gaußsche Summenformel)
4. siehe 3
5. siehe 3
6. siehe 3
7. siehe 3
Dann alles addiert kommt zunächst
5*(n*((n+1)/2))+(n+1)+1
=(5n^2+5n)/2+(n+1)+1
=(5n^2+7n+4)/2
Das hab Ich dann als Laufzeitfunktion raus, ist das so richtig?
Was mich auch verwundert ist, dass der Prof (auch an einem anderen Beispiel) in einer Schleife die von 2 bis n ging (bei 1 indiziert), insgesamt n durchläufe für den Schleifenrumpf genommen hat, da beim letzten Aufruf zwar die Schleife nicht ausgeführt, aber trotzdem nach der Bedingung geschaut wird (so hab Ich das verstanden). Im Internet war das aber an allen Beispielen anders, da wurde stets ohne diesen letzten Aufruf gezählt.
Da soll man jetzt eine exakte Laufzeitanalyse durchführen, ich habe folgendes raus
1. 1
2. n+1
3. n*((n+1)/2) (Gaußsche Summenformel)
4. siehe 3
5. siehe 3
6. siehe 3
7. siehe 3
Dann alles addiert kommt zunächst
5*(n*((n+1)/2))+(n+1)+1
=(5n^2+5n)/2+(n+1)+1
=(5n^2+7n+4)/2
Das hab Ich dann als Laufzeitfunktion raus, ist das so richtig?
Was mich auch verwundert ist, dass der Prof (auch an einem anderen Beispiel) in einer Schleife die von 2 bis n ging (bei 1 indiziert), insgesamt n durchläufe für den Schleifenrumpf genommen hat, da beim letzten Aufruf zwar die Schleife nicht ausgeführt, aber trotzdem nach der Bedingung geschaut wird (so hab Ich das verstanden). Im Internet war das aber an allen Beispielen anders, da wurde stets ohne diesen letzten Aufruf gezählt.