Algoritmid ja andmestruktuurid (IFI6083.DT)
space
Õppeaine kood
IFI6083.DT
vana ainekood
IFI6083
Õppeaine nimetus eesti k
Algoritmid ja andmestruktuurid
Õppeaine nimetus inglise k
Algorithms and Data Structures
Õppeaine maht EAP
4.0
Kontrollivorm
eksam
2023/2024 kevadsemestri õppejõud
Ei ole õpetamiseks avatud. Vt all õppekava lingi kaudu peaeriala all nominaaljaotuse ajakava.
2024/2025 sügissemestri õppejõud
Ei ole õpetamiseks avatud. Vt all õppekava lingi kaudu peaeriala all nominaaljaotuse ajakava.
Õppeaine eesmärgid
Aidata kaasa lineaarsete ja mittelineaarsete 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 C 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:
- tunneb 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;
- lahendab ülesandeid, tuginedes käsitletud algoritmidele ja kasutades imperatiivset viitade kasutamist lubavat programmeerimiskeelt (keel C).
Õppejõud
Inga Petuhhov
space