Kasutaja:Rullherman/Algoritmide tüübid

Algoritmi tüüp määratakse põhimõtte järgi, mille alusel algoritm probleemi lahendab.

Rekursiivsed algoritmid

muuda

Jaga ja valitse algoritmid

muuda

Tagurdusmeetodil põhinevad algoritmid

muuda
 
Sudoku lahendamine tagurdusmeetodil

Tagurusmeetodil pannakse algoritmi alguses paika esimene element, siis teine jne. Kui mingil etapil ei saa panna kirja järgmist element, siis liigutakse tagasi eelmise elemendi juurde ning proovitakse uut elementi.

Tagurdusmeetodit on hea kasutada näiteks Sudokude lahendamisel. Igas etapis täidetakse üks kast numbriga. Kui mingil hetkel jõuab lahendaja olukorrani, kus kasti ei saa midagi panna, siis minnakse eelmise kasti juurde asendatakse seal olev element muu sobiva elemendiga. Kui sellist asendus pole võimalik teha, siis liigutakse sellest eelmise kasti.[1]

Ahned algoritmid

muuda

Ahne algoritm valib igas etapis antud valikute hulgast välja kõige optimaalsema. Protsess kordub nii kaua kuni ülesanne on täidetud. Sellised algoritmid on efektiivsed, kuid sageli ei anna kogu programmi mõttes optimaalseimat tulemust.

Olgu antud väärtused 1, 3 ja 4 ning ülesandeks on leida vähim kogus elemente, mille summa on 6. Ahne algoritm valib esimeses etapis 4, teises etapis 1 ning kolmandas etapis 1. Tagastab, et vaja on kolme elementi. Samas on võimalik moodustada summa vaid kahe elemendiga(3+3).

Tuntud ahned algoritmid on näiteks Dijkstra algoritm ja Primi algoritm.[1]

Toore jõu algoritmid

muuda

Dünaamilise programmeerimise algoritmid

muuda


  1. 1,0 1,1 Targo Tennisberg, Katrin Babrel (2017). Võistlusprogrammeerimine, 1.osa. Lk 70,192.