Õppeaine nimetus eesti k
Algoritmid ja andmestruktuurid
Õppeaine nimetus inglise k
Algorithms and Data Structures
2024/2025 sügissemestri õppejõud
Ei ole õpetamiseks avatud. Vt all õppekava lingi kaudu peaeriala all nominaaljaotuse ajakava.
2024/2025 kevadsemestri õppejõud
Ei ole õpetamiseks avatud. Vt all õppekava lingi kaudu peaeriala all nominaaljaotuse ajakava.
Õppeaine eesmärgid
Aidata kaasa lineaarsete ja mittelineraasete andmestruktuuride tundmise ning nende praktilise rakendamisoskuse kujunemisele. Toetada probleemide analüüsi ja lahendusoskuse arenemist tuginedes erinevatele andmestruktuuridele ning kasutades sobilikke algoritme. Toetada praktilise programmeerimisoskuse kujunemist lihtsas imperatiivses viitade kasutamist lubavas keeles.
Õppeaine sisu lühikirjeldus
Dünaamilised loendid (ahelad). Lineaarsed andmestruktuurid – pinu, järjekord, ringjärjekord ja dekk, nende realiseerimine. Puu. Kahendpuu. Puude realiseerimine. Põhilised algoritmid puudel. Graaf. Graafide realiseerimine. Põhilised algoritmid graafidel - laiuti ja sügavuti otsimine, lühim tee, topoloogiline sorteerimine. Algoritmide keerukuse analüüsimine. Keerukusklassid. Algoritmimise strateegiad: algoritmid jõumeetodil, ahned algoritmid, jaga-ja-valitse, algoritmid tagurdusmeetodil, dünaamiline programmeerimine. O(N^2) ja O(N*log N) sorteerimisalgoritmid. Otsimine. Otsimiskahendpuu. AVL-puu. Puna-mustpuu. B-puu. Paisktabel. Paiskfunktsioonid. Kollisioonid ja nende lahendamine. Iseseisva tööna tuleb lahendada kolm probleemi ning esitada nende kohta programmid.
Õppeaine õpiväljundid
Õppeaine edukal läbimisel üliõpilane:
Kursuse läbinud üliõpilane:
Teab algoritmide analüüsimise, hindamise ja keerukusega seotud mõisteid.
Kirjeldab dünaamilisi ja staatilisi andmestruktuure ning nendel rakendatavaid algoritme.
Oskab analüüsida algoritme ja hinnata nende efektiivsust.
Oskab lihtsamate ja tüüpilisemate probleemide korral valida sobivat andmestruktuuri ja algoritmi sõltuvalt lahendamist vajavast probleemist.
Koostab imperatiivses viitade kasutamist lubavas programmeerimiskeeles programmi ülesannete lahendamiseks kasutades käsitletud algoritme.
Õppekavaversioonid, millesse aine kuulub