U matematici i računarskoj nauci, algoritam je određeni skup definisanih naredbi za obavljanje nekog zadatka. Algoritmi se koriste u računarskim programima kao način rješavanja nekog zadatka. Algoritam također može značiti grafički prikaz toka obrade ili skup instrukcija računarskogprograma (tad se preciznije naziva dijagram toka). On predstavlja vodilju za programera koji pomoću algoritama predstavlja viziju programa koji želi napisati u programskom jeziku.
Algoritam se može predstaviti u nekoliko načina, mada je najbolja blog dijagram ili organogram, pored te se još javljaju i predstavljanje u obliku govora i tabelarno. Predstavljanje govorom nije toliko preporučljivo jer ne govore svi istim jezikom pa tu moze doći do spora pri razumijevanju algoritma.
Koncept algoritma se obično ilustruje pojednostavljeno, iako je u stvarnosti veoma komplikovan. Algoritmi sadrže stepenice koje se ponavljaju ili zahtijevaju odluke koje propisuje programer. Koncept algoritma je dobio formu 1936. preko Turingovih mašina i Alonzo Churchovoglambda calculusa, koji su praktično udarili temelje računarske nauke. Većinu algoritama je moguće implementirati u računarski program.[1]
Primjer
Ovo je jedan od jednostavnijih primjera algoritma napisanog u bosanskom jeziku (ne u programskom kodu, tzv. pseudo algoritam). Određuje da li je zadati broj n paran ili neparan:
Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein (2009). Introduction To Algorithms (3rd izd.). MIT Press. ISBN978-0-262-03384-8.
Harel, David; Feldman, Yishai (2004). Algorithmics: The Spirit of Computing. Addison-Wesley. ISBN978-0-321-11784-7.
Hertzke, Allen D.; McRorie, Chris (1998). "The Concept of Moral Ecology". u Lawler, Peter Augustine; McConkey, Dale (ured.). Community and Political Thought Today. Westport, CT: Praeger.
^Blair, Ann, Duguid, Paul, Goeing, Anja-Silvia and Grafton, Anthony. Information: A Historical Companion, Princeton: Princeton University Press, 2021. p. 247