Početak›Форуми›Linuks›Programiranje›Brzina (broj prolaza) algoritma
- This topic has 20 odgovora, 8 glasova, and was last updated 16 years, 2 months ranije by
burga.
-
AutorČlanci
-
29. novembra 2006. u 6:50 pm #8083
BrokeBody
UčesnikRecimo da imam neki program P1 koji ima 100 linija koda. Nebitno koju funkciju program ima.
E sad, imam jedan isti takav program P2, odnosno program P2 ima potpuno istu funkciju kao i program P1, i kada korisnik koristi program P1 ili program P2, on ne vidi nikakvu razliku izmedju ta dva programa, jer mu i jedan i drugi vizuelno na potpuno isti nacin zavrsavaju posao. Taj krajnji korisnik kaze da su program P1 i program P2 potpuno isti programi i da je jedina razlika izmedju njih ta sto se jedan zove P1, a drugi se zove P2.
Ajmo sada malo ispod haube.
Program P2 ima potpuno istu funkciju kao i program P1, ali program P2 ima 200 linija koda. Iako oba programa imaju istu funkciju, razlog ovoj razlici u broju linija koda je ta sto je jedan programer nasao nacin da mu se algoritam u programu P1 izvrsi u 50 prolaza, koji zahteva minimum 100 linija koda, a drugi programer je nasao nacin da mu se algoritam izvrsi u 125 prolaza, koji zahteva minimum 200 linija koda.
Pitanje glasi:
Da li ce program P1 brze raditi zato sto ima manje linija koda, odnosno zato sto ce mu se algoritam izvrsiti u manje prolaza nego u programu P2, u kojem se algoritam izvrsava u vise prolaza, ili brzina rada programa zavisi od nekih drugih stvari (izuzev slabe ili jake hardverske konfiguracije racunara)?29. novembra 2006. u 7:52 pm #49932debelizmaj
Učesnikbrzina izvrsavanja nekog programa najvise zavisi od nacina na koj ise izvrsava kod…zapravo kako je optimizovan, postoje programi kod kojih vreme izvrsavanja logaritamski zavisi nekog n, kod drugih je to stepeno, kod trecih je linearno….e sad, ako uspes da sa stepene zavisnosti vremena izvrsavanja koda preradis da se izvrsavaju u logaritamskoj zavisnosti ti si ubrzao program…ovako, brojanje prolaza kroz kod ti nece dati neki odgovor zato sto programi imaju dosta inputa od kojih ti zavisi dalje izvrsavanje….
nadam se da sam ti pomogao , a jos vise se nadam da sam bio jasan posto nisam bas najsrecniji u objasnjavanju29. novembra 2006. u 8:02 pm #49933BrokeBody
Učesnikpostoje programi kod kojih vreme izvrsavanja logaritamski zavisi nekog n, kod drugih je to stepeno, kod trecih je linearno…
I kad je gledam kod, kako da znam dal’ sad njegovo vreme izvrsavanja od nekog n zavisi logaritamski, stepeno, linearno…?
Imam osecaj da sam sad lupio neko ekstra glupo pitanje? 😀
29. novembra 2006. u 9:02 pm #49934debelizmaj
Učesnikimam dobru knjigu iz dizajna i analize algoritama, na engleskom je ali ako si zainteresovan poslacu ti je na mejl, ja sam imao predmet na drugoj koji se tako zvao….
29. novembra 2006. u 9:06 pm #49935jboban
UčesnikI kad je gledam kod, kako da znam dal’ sad njegovo vreme izvrsavanja od nekog n zavisi logaritamski, stepeno, linearno…?
Treba da proceniš broj prolazaka kroz neki deo programa. Npr. koliko puta će program izvršiti glavni deo programa u odnosu na broj elemenata niza n za sledeća dva primera:
1. Sabrati prvih n clanova niza
[code]
for(i = 0; i < n; i++) {
// Nesto tipa: suma += niz;
}
[/code]2. Sortirati niz u neopadajućem poretku
[code]
for(i = 0; i < n – 1; i++) {
for(j = i + 1; j < n; j++) {
// Ispitaj, zameni…
}
}
[/code]29. novembra 2006. u 9:11 pm #49936cyber_brain_mfkg
Učesnikaj prosledi taj pdf please(ako je pdf, ako nije onda sta god bude bilo):D!!! ili ako imash site zakaci ga tamo i ostavi url!!! 😉
moj mail ti je [email protected]
aj pis!
29. novembra 2006. u 9:22 pm #49937BrokeBody
Učesnikaj prosledi taj pdf please(ako je pdf, ako nije onda sta god bude bilo):D!!! ili ako imash site zakaci ga tamo i ostavi url!!! 😉
Kakav bre pdf? Kakav bre sajt?
Onaj scenario u mom prvom postu sam uneo iz glave, u trenutku kucanja. 😀
29. novembra 2006. u 9:33 pm #49938BrokeBody
UčesnikOnaj prvi primer samo razumem cemu sve moze da posluzi, ali i dalje ne razumem kako ja na osnovu tog primera mogu da znam od cega zavisi njegovo vreme izvrsavanja – logaritamski, stepeno, linearno, i sta vec sve ima.
E za onaj drugi primer sa ugnjezdavanjem petlji nisam cak ni znao da moze da posluzi za sortiranje niza u neopadajucem poretku, a kamo li nesto drugo. 😀
29. novembra 2006. u 9:35 pm #49939debelizmaj
Učesnikpolako broke polako…sve se uchi…:D
29. novembra 2006. u 9:39 pm #49940BrokeBody
UčesnikMa sto duze ucim ovo programiranje, sve vise ozbiljno sumnjam da ti ja po prirodi nisam za ove stvari ili ti…
*glup*. 🙁 -
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.