Hallo zusammen!
Warum hat der folgender Algorithmus worst-case Komplexität O(n), also lineare Laufzeit? Ich komme einfach nicht drauf. Dabei liefern rand(0,n) eine Zufallszahl zwischen 0 und n. Wie kann man das nur begründen?
Ich würde es sehr begrüßen, wenn jemand einen Tipp für mich hat bzw. mir helfen könnte!! Vielen Dank.
squirrel
Warum hat der folgender Algorithmus worst-case Komplexität O(n), also lineare Laufzeit? Ich komme einfach nicht drauf. Dabei liefern rand(0,n) eine Zufallszahl zwischen 0 und n. Wie kann man das nur begründen?
Code:
stack <-- create()
for i <-- 1 to n do
push(stack,a_i)
j <-- rand(0,n)
while not empty(stack) and j>0 do
pop(stack)
j <-- j-1
endwhile
endfor
Ich würde es sehr begrüßen, wenn jemand einen Tipp für mich hat bzw. mir helfen könnte!! Vielen Dank.
squirrel