Kasutaja:Rullherman/Algoritmide tüübid

Allikas: Vikipeedia

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

Rekursiivsed algoritmid[muuda | muuda lähteteksti]

Jaga ja valitse algoritmid[muuda | muuda lähteteksti]

Tagurdusmeetodil põhinevad algoritmid[muuda | muuda lähteteksti]

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 | muuda lähteteksti]

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 | muuda lähteteksti]

Dünaamilise programmeerimise algoritmid[muuda | muuda lähteteksti]


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