Početak›Forumi›Linuks›Programiranje›Brzina (broj prolaza) algoritma
- This topic has 20 odgovora, 8 glasova, and was last updated 17 years, 4 months ranije by burga.
-
AutorČlanci
-
29. novembar 2006. u 6:50 pm #8083BrokeBodyUčesnik
Recimo 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. novembar 2006. u 7:52 pm #49932debelizmajUč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. novembar 2006. u 8:02 pm #49933BrokeBodyUč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. novembar 2006. u 9:02 pm #49934debelizmajUč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. novembar 2006. u 9:06 pm #49935jbobanUč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. novembar 2006. u 9:11 pm #49936cyber_brain_mfkgUč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. novembar 2006. u 9:22 pm #49937BrokeBodyUč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. novembar 2006. u 9:33 pm #49938BrokeBodyUč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. novembar 2006. u 9:35 pm #49939debelizmajUčesnikpolako broke polako…sve se uchi…:D
29. novembar 2006. u 9:39 pm #49940BrokeBodyUč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.