Algoritmi Algoritam – uputa ili recept: Kuharski recept Uputa za prelazak preko ulice Upute za uporabu kućanskih aparata Upute za sijanje Uputa za zbrajanje brojeva Proučavanje algoritama je važno razvija analitičke vještine učenje o algoritmima i podatkovnim strukturama pomaže u stjecanju kompetencija za uspješnije rješavanje problema računalni programi ne bi postojali bez algoritama dobri algoritmi mogu poboljšati efikasnost računalnih programa algoritmi nisu odgovori, nego dobro definirani koraci za dobijanje odgovora Primjeri: Traženje najkraćeg puta A* algorithm Definicija Naziv ALGORITAM potječe od imena arapskog matematičara Muhamed ibn Musa al Horezmi. ALGORITAM je opis matematičkog ili drugog postupka, sastavljen od izvjesnog broja koraka ili akcija, dan u obliku niza uputa koje treba obaviti određenim redoslijedom. ALGORITAM je proces ili niz pravila za rješavanje nekog zadatka ili zadanog problema. Algoritmi se razlikuju Isti algoritam može biti predstavljen na niz različitih načina. Za rješavanje istog problema mogu postojati različiti algoritmi (načini). Algoritmi za isti problem mogu biti utemeljeni na vrlo različitim idejama i problem mogu rješavati sasvim različitim brzinama. Programiranje kao sinteza algoritama RAČUNALNI PROGRAM predstavlja algoritam opisan uputama, operacijama koje računalo razumije, a služe rješavanju nekog problema. PISANJE PROGRAMA je proces izražavanja algoritama nizom naredbi u nekom jeziku za programiranje. Konvergentni algoritam se sastoji od konačnog broja koraka koji sigurno vode do rješenja (ako ono uopće postoji). Opće karakteristike algoritma Ima početne objekte (ulazni podaci) Ima završne objekte (izlazni podaci, rezultati) Ima konačni broj koraka (mogu se opisati uputama, naredbama, instrukcijama) Mogu biti općeniti ili specijalizirani Mogu biti uporabljivi i neuporabljivi Imaju izvoditelja Postoji jezik za njihovo zapisivanje (koji može biti umjetni – programski jezik ili govorni)