Amikor egy problémát meg akarunk oldani, célszerű lépésekre bontani. Ha egy nagyobb problémából sok kicsit csinálunk, a kicsikkel már jobban megbirkózunk.
Ha tudjuk, hogy milyen lépéseket végzünk, és azok milyen sorrendben következnek, akkor algoritmust követünk. Algoritmusokkal a hétköznapi életünk során is lépten-nyomon találkozunk. Például a bevásárlás, a buszra várás, a telefonálás tevékenységeinek sorozata is algoritmus.
Az algoritmus készítése során az a cél, hogy az egyes lépések egyértelműek legyenek. Ha ezek a lépések egyértelműen végrehajthatók, akkor a tevékenységet elemi lépések (elemi utasítások) sorozataként építettük fel.
Az algoritmus elnevezés Al-Hvárizmi Algoritmi című művének lefordításából származik.
Ha egy tevékenység olyan elemi lépésekből (elemi utasításokból) épül fel, amelyek csak egymás után végre kell hajtani és nincs benne semmilyen választási vagy ismétlési feladat, akkor az algoritmust az egymásutániság jellemzi (szekvencia). Például:
Menj be a boltba!
Vegyél 5 db kiflit!
Fizesd ki!
Menj ki a boltból!
Ha a feladat végrehajtása során elérkezünk egy olyan lépéshez, ahol feltételtől függően választási lehetőség van, akkor az algoritmus elágazást (szelekció) tartalmaz. Például:
Menj be a boltba!
Ha van kifli, akkor
Vegyél 5 db-ot!
Különben
Vegyél 1 kg kenyeret!
Fizesd ki!
Menj ki a boltból!
Előfordulhat, hogy a megoldás érdekében bizonyos elemi lépéseket többször is végre kell hajtani. Ekkor az algoritmus ismétlődést (iteráció) tartalmaz. Például:
Menj be a boltba!
Tedd a kosárba az első árut!
Ha van még mit vásárolnod,
Akkor tedd a kosárba a következő árut!
Fizesd ki!
Menj ki a boltból!
Az algoritmus hatékonysága, eredményessége
Az algoritmusokkal szemben támasztott követelmények közül nagyon fontos az eredményesség. A tevékenységek végrehajtása során fontos cél, hogy véges számú lépés után befejeződjön. Ugyanis ha a lépéseket a végtelenségig kellene folytatnunk, akkor soha nem jutnánk el a megoldáshoz.
Persze vannak olyan folyamatok, amikor nem az a cél, hogy vége legyen, hanem hogy a folyamat állandóan ismétlődjön. Gondoljunk a csapadék körforgására, vagy az évszakok váltakozására. Nagy baj lenne, ha ezek egyszer csak befejeződnének!
Nagyon fontos, hogy egy algoritmus hatékonyan működjön. Ha végiggondoljuk a bevásárlás folyamatát, akkor azt intézhetjük úgy is, hogy a szükséges termékeket egyesével fizetjük ki, és visszük haza. De ennél célszerűbb, ha mindent egyszerre vásárolunk meg. Akármelyik algoritmust is követjük, az eredmény ugyanaz – mindent hazaviszünk, amit kell –, de ha egyszerre vásároljuk meg a szükséges dolgokat, hatékonyabban, sokkal gyorsabban jutunk a folyamat végére.