Kaskus

Tech

meldharmawanAvatar border
TS
meldharmawan
Kompleksitas algoritma menghitung bilangan prima
diberikan potongan coding untung menghitung bil prima.

bool prime(N){
int factor;
if (N > 1)
factor = 2;
Else factor = 1;
for (i=2;i<=N div 2;i++)
If (n mod i == 0)
factor++;
if (factor=2)
return true;
else return false;
}

ditanya: berapa kompleksitas algoritma diatas

menurit ane:
bool prime(N){
int factor;
if (N > 1) //1
factor = 2; //1
Else factor = 1; ->tidak dihitung karena saat if hanya berjalan 1 statemen pilihan saja
for (i=2;i<=N div 2;i++) // N/2 - 1 (karena looping sebanyak N sampe N/2, dikurnag 1 karena looping dimulai dari i = 2, bukan i = 1)
If (n mod i == 0) // N/2 - 1
factor++; //N/2-1
if (factor=2) // 1 -> karena sudah bukan bagian dari for
return true; //1
else return false;
}
kompleksitas: 3N/2 + 1
sehingga big O dari algoritma diatas adalah O(N)

apakah benar alasan ane menjabarkan komleksitas per statement sudah benar?
Diubah oleh meldharmawan 04-12-2013 01:56
nona212Avatar border
nona212 memberi reputasi
1
5.7K
5
GuestAvatar border
Komentar yang asik ya
Urutan
Terbaru
Terlama
GuestAvatar border
Komentar yang asik ya
Komunitas Pilihan