Kasutaja:Rullherman/Algoritmide tüübid
Algoritmi tüüp määratakse põhimõtte järgi, mille alusel algoritm probleemi lahendab.
Rekursiivsed algoritmid
muudaJaga ja valitse algoritmid
muudaTagurdusmeetodil põhinevad algoritmid
muudaTagurusmeetodil 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
muudaAhne 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
muudaDünaamilise programmeerimise algoritmid
muuda