Deskripsi untuk soal nomor 29 - 30
Perhatikan program berikut:
var
lolo: array[0..10] of integer = (1,0,10,3,4,6,-1,14,-10,25,1);
procedure tukar(var a,b: integer);
var
c: integer;
begin
c:=a;
a:=b;
b:=c;
end;
procedure lele(lili,lala: integer);
var
i,a,e : integer;
begin
i := lili;
a := lala;
e := (i+a) div 2;
while (i<a) do
begin
while lolo[i] <= lolo[e] do
i:=i+1;
while lolo[a] >= lolo[e] do
a:=a-1;
if (i<a) then
begin
tukar(lolo[i],lolo[a]);
end;
i:=i+1;
a:=a-1;
end;
if lili < a then lele(lili,e);
if i < lala then lele(e,lala);
end;
Jika dilakukan pemanggilan lele(0,7)
, maka di akhir program berapakah nilai
lolo[0]+lolo[3]+lolo[7]+lolo[10]
?
Berapakah kompleksitas untuk pemanggilan lele(lili – lala)
, dengan nilai (lili-lala) = n
?
A. O(1)
B. O(log n)
C. O(n)
D. O(n log n)
E. O(n2)
F. O(n2 log n)
G. O(n!)
H. O(nn)