U matematici, raunarstvu, lingvistici i srodnim disciplinama, algoritam ili postupnik [1] je konaan slijed dobro definiranih naredbi za ostvarenje zadatka, koji e za dano poetno stanje terminirati u definiranom konanom stanju. Koncept algoritma je potekao kao sredstvo zapisivanja postupaka za rjeavanje matematikih problema, poput pronalaenja zajednikog djelitelja dvaju brojeva ili mnoenja dvaju brojeva. Koncept je formaliziran 1936. u vidu Turingovog stroja Alana Turinga i lambda rauna Alonza Churcha, koji su jedan za drugim postavili temelje raunarstva. 1 Kuhanje aja kao primjer algoritma 2 Kratka povijest 3 Svojstva 4 Algoritmi u raunarstvu 5 Analiza sloenosti algoritama 6 Klasifikacija algoritama 7 Algoritmi s obzirom na metodologiju dizajna 8 Vidi jo 9 Izvori Najei primjer algoritma iz svakodnevnog ivota jest kuhanje aja. Svaki korak pripremanja aja mora biti ispravno izvren kako bi mogli prijei na idui te u konanici dobiti topao i ukusan aj. Ovaj se primjer moe nai u veini poetnike literature kao lako shvatljiv primjer osnovnih svojstava algoritama. I to je to! Dobili smo alicu vrueg aja pa emo lake podnijeti prehladu koja nas danima mui. Iz ovog se jednostavnog primjera jasno vidi slijednost i konanost algoritma. Naime, nema previe koristi od algoritma koji nikad ne zavrava. Oito je da algoritam definira nain kako se neki problem rjeava. Rije "algoritam" dolazi od latinskog prijevoda imena iranskog matematiara AlHvarizmija koji se bavio trigonometrijom, astronomijom, zemljopisom, kartografijom, a smatra se ocem algebre jer je definirao osnovna pravila rjeavanja linearnih i kvadratnih jednadbi. Njegovi radovi su osnova razvoja mnogih matematikih i prirodnih disciplina, meu njima i raunarstva.. Prvi zapis algoritma prilagoen raunalu pripada Adi Byron iz 1842 (pa se zbog ovoga smatra prvom programerkom), a raunao je Bernoullijeve brojeve. Raunalo za koje je napisan je bio analitiki stroj, koji je zamislio, ali nikad u potpunosti proveo u djelo, Englez Charles Babbage. Analitiki stroj je trebalo biti prvo programabilno raunalo, sastavljeno u potpunosti od mehanikih dijelova. Mehaniki dijelovi i fizika Algoritam - Wikipedija http://hr.wikipedia.org/wiki/Algoritam 1 od 4 18.8.2014. 12:55 glomaznost su glavni razlozi zato nikad nije zavren. Nedostatak vrste matematike forme pravio je odreene probleme matematiarima i logiarima 19. i 20. stoljea prilikom analiziranja algoritama. Definicija Turingovog stroja je rijeila veinu tih problema, a predstavio ju je engleski matematiar Alan Turing. Turingov stroj omoguava izvoenje veine dananjih algoritama (uz odreene prilagodbe), a dodatno olakava i analizu sloenosti zbog svoje jednostavnosti izvedbe (glava, funkcija pomaka glave te beskonana ili jako duga traka za itanje/pisanje). Primjenom Turingovog stroja kao idealnog modela definirani su mnogi moderni problemi vezani uz analizu algoritama, kao npr. Turingov problem zaustavljanja ili klase NP-tekih i NP-potpunih problema.
Ovaj dio lanka je nedovren ili treba nadopune. Pomozite Wikipediji i dopunite ga. (https://hr.wikipedia.org /w/index.php?title=Algoritam&action=edit) Algoritmi imaju slijedea svojstva: diskretnost u odvojenim koracima izvode se diskretne operacije algoritma koje vode ka konanom cilju; konanost oznaava sposobnost algoritma da nakon konanog broja koraka daje izlazne podatke odnosno rezultate; determiniranost za iste ulazne podatke algoritam uvijek daje iste rezultate masovnost algoritam je primjenjiv na vei broj ulaznih vrijednosti. Moderno raunarstvo je nezamislivo bez primjene algoritama, njihove matematike analize te postupcima ubrzavanja njihova izvoenja (optimiranje, optimiziranje). Sva su ta podruja povezana i meusobno se nadopunjuju.
Ovaj dio lanka je nedovren ili treba nadopune. Pomozite Wikipediji i dopunite ga. (https://hr.wikipedia.org /w/index.php?title=Algoritam&action=edit) Analiza sloenosti algoritama vrlo je vana disciplina zboga toga to omoguuje vrlo dobro predvianje resursi potrebnih da dani algoritam obradi dani set unosa. Uobiajeno je sloenost algoritama izraavati kao matematiku funkciju koja veliinu unosa pretvara u koliinu vremena potrebnu da se algoritam zavri (vremenska sloenost) ili koliinu prostora potrebnu da se algoritam zavri (memorijska sloenost). Vrlo esto se analiza sloenosti algoritama provodi iskljuivo uz pomo papira i olovke bez osvrtanja na pojedinane implementacije u pojedinim programskim jezicima.
Ovaj dio lanka je nedovren ili treba nadopune. Pomozite Wikipediji i dopunite ga. (https://hr.wikipedia.org /w/index.php?title=Algoritam&action=edit) Algoritme je mogue klasificirati po raznim kriterijima: Algoritam - Wikipedija http://hr.wikipedia.org/wiki/Algoritam 2 od 4 18.8.2014. 12:55 Klasifikacija prema implementaciji Jedan nain klasifikacije algoritama je prema nainu implementacije. Rekurzivni ili iterativni: Rekurzivni algoritam je algoritam koji poziva samog sebe sve dok se ne postigne odreen uvjet. Rekurzivni algoritmi su vrlo esto usko vezani uz implementaciju pojedine matematike funkcije na primjer Fibbonaijeve funkcije. Iterativni algoritmi su algoritmi koji ne pozivaju samog sebe ve se oslanjaju na konstrukte poput petlji i dodatne strukture podataka kao to je stog ili red da bi rijeili problem. Vano je napomenuti da je svaki rekurzivni algoritam mogue pretvoriti u iterativni, i da je svaki iterativni algoritam mogue pretvoriti u rekurzivni, iako ponekad pretvaranje moe biti vrlo kompleksno. Serijski ili paralelni: Veina dananjih raunala sadri samo jedan procesor te stoga obavlja naredbe jednu po jednu, to jest serijski. Algoritmi koji su dizajnirani sa namjerom da se izvravaju u takvom okruenju shodno tome se nazivaju serijski algoritmi. Suprotno njima su paralelni algoritmi koji sa sve veim probojem vieprocesorskih raunala dobivaju sve veu vanost. Paralelni algoritmi koriste mogunost vieprocesorskog sustava na taj nain da problem rascijepe na vie malih potproblema koje svaki procesor rjeava zasebno te se zatim rezultati spajaju. Paralelni algoritmi uz resurse potrebne za obradu podataka takoer imaju i malu potronju resursa na komunkaciju izmeu vie procesora. Algoritmi za sortiranje su jedan od primjera algoritama koje je mogue znatno poboljati upotrebom paralelnih procesora, dok je probleme poput problem tri tijela sasvim nemogue rijeiti paralelnim algoritmom. Deterministiki ili stohastiki: Deterministiki algoritam je algoritam koji e pri svakom izvravanju u bilo kojim uvjetima od istog unosa doi do istog izlaza sljedei svaki put identian niz naredbi. Stohashiki algoritmi je algoritam koji barem u jednom dijelu izvravanja donese neku odluku sluajnim odabirom. Toan ili priblian: Iako algoritmi u principu daju toan rezultat, ponekad algoritam trai priblino rjeenje koje je dovoljno blizu tonom, ili je tono rjeenje nemogue nai. Brute force algoritmi - "istom silom" raunala isprobavaju sve mogunosti i trae odgovarajue rjeenje. Najneefikasnijji algoritmi. Podijeli i vladaj algoritmi tzv. Divide and conquer, podijeli i vladaj. Problem se dijeli na vie istih, manjih problema. Podjela tee tako dugo dok se ne doe do malog problema kojeg je jednostavno rijeiti (obino rekurzijom). Dinamiki algoritmi - Metodama dinamikog programiranja rjeavaju se viefazni procesi, tj. procesi u kojima se donosi niz meusobno ovisnih odluka za pojedine godine odreenog razdoblja ili za pojedine aktivnosti zadanog problema. Dinamiko programiranje poznato je i pod nazivom metoda donoenja viefaznih, odnosno viestupnjevanih odluka. Pohlepni algoritmi tzv. greedy - Pohlepni algoritam je algoritam koji koristi metaheuristiku za rjeavanje problema, takvu da u svakom koraku bira lokalno najbolje rjeenje, u nadi da e tako iznai globalni optimum. Ovi algoritmi esto ne daju najbolje rjeenje ve brzu aproksimaciju najboljeg rjeenja. Algoritmi za sortiranje i pobrojavanje tzv. search and enumeration - Algoritmi sortiranja slue za brzo sortiranje podataka, npr. niza brojeva. Mnogi se problemi mogu rjeavati teorijom grafova. Dijagram tijeka Algoritam - Wikipedija http://hr.wikipedia.org/wiki/Algoritam 3 od 4 18.8.2014. 12:55 Ki Miroslav, Englesko-hrvatski i hrvatsko-engleski informatiki rjenik, Zagreb, Naklada Ljevak, 2000., str. 36 1. Nedovreni lanak Algoritam koji govori o matematici treba dopuniti. Dopunite ga (https://hr.wikipedia.org/w/index.php?title=Algoritam&action=edit) prema pravilima Wikipedije. Nedovreni lanak Algoritam koji govori o raunarstvu treba dopuniti. Dopunite ga (https://hr.wikipedia.org/w/index.php?title=Algoritam&action=edit) prema pravilima Wikipedije. Dobavljeno iz "http://hr.wikipedia.org/w/index.php?title=Algoritam&oldid=4102247" Kategorije: U izradi, Matematika U izradi, Raunarstvo Matematika Teoretsko raunarstvo Vrijeme i datum posljednje promjene na ovoj stranici: 14:51, 9. lipnja 2013. Tekst je dostupan pod licencijom Creative Commons Imenovanje/Dijeli pod istim uvjetima; dodatni uvjeti se mogu primjenjivati. Pogledajte Uvjete koritenja za detalje. Algoritam - Wikipedija http://hr.wikipedia.org/wiki/Algoritam 4 od 4 18.8.2014. 12:55