O-Kalkül

Hallo,

ich möchte gern den Aufwand „berechnen“, den ein Programm bei der Ausführung braucht. Bloß ich komme nicht weiter…

kurzes bsp um was es geht:
for (int i=1; i

for (int i=1; i

Hallo.

ich hoffe soweit ist das prinzip klar…jetzt versteh ich
jedoch folgende Fkt nicht…

for (int i=1; i

okay danke, das hat mir echt weitergeholfen…

for (int i=1; i

Hallo.

for (int i=1; i

Hallo.

Hab mich geirrt, hab übersehen, dass die j-Schleife diesmal ja nicht immer verdoppelt…

for (int i=1; i(x=0 bis i/2)(2x+1) = 2*(i/2*i/2+1)/2+i/2+1 = O(i^2).

Die äußere Schleife lässt i von 1 bis n laufen, jeweils mit Aufwand O(i^2):
Summe(i=0 bis n)(i^2) = … = O(n^3)
Die genaue Formel für die Quadratsumme weiß ich gerade nicht, aber am Ende kommt was mit Potenzen von 0, 1, 2 und 3 raus, was dann O(n^3) ist.
Zusammen hat man dann also:
O(n*log n) + O(n^3) = O(n^3)

Ich hoffe mal, diesmal ist mir kein Fehler unterlaufen.

Sebastian.

Okay vielen Dank, konnte das ganze gut nachvollziehen:smile: