Andmestruktuurid (ICM0004)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
ICM0004
õppeaine nimetus eesti k
Andmestruktuurid
õppeaine nimetus inglise k
Data Structures
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis
õppekeel
eesti keel
inglise keel
Eeldusaine(d)
Eeldusaine 1
Programmeerimise algkursus (ICM0002)
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IAAM17/25
ei
Ainet õpetavad struktuuriüksused
IC - IT kolledž
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
Aine rolliks õppekavas on süvendada algoritmilise mõtlemise, analüüsi ning praktilise programmeerimise vilumust. Õppeaine eesmärgiks on anda õppurile ülevaade andmestruktuuridest ning nende realiseerimisest, samuti tutvustada olulisemaid meetodeid klassikaliste algoritmikaprobleemide lahendamisel, s.h. otsimine ja järjestamine; andmete organiseerimine: pinu, järjekord, ahel, paisktabel, puu, kuhi, graaf; rekursioon, ammendav otsing, dünaamiline kavandamine jt. programmeerimistehnikad.
õppeaine eesmärgid inglise k
Role of the course in curricula is to develop student's algorithmic thinking through analysis of algorithms and data structures, also deepen her programming skills.
The course provides an overview of data structures, also guidelines to their analysis and implementation. Classical data structures are presented: linked list, stack, queue, priority queue, dequeue, hash table, tree, binary tree, heap, graph, etc. Course covers techniques for solving common algorithmic problems – searching, sorting, data organization, using recursion, backtracking, dynamic programming, exhaustive search, etc.
õppeaine õpiväljundid eesti k.
Aine läbinu:
1. Tunneb põhilisi andmestruktuure (ahel, pinu, järjekord, kahepoolne järjekord, paisktabel, puu, kahendpuu, kuhi, graaf), nende omadusi ning nendega seotud algoritme ja tehnikaid (andmestruktuuride läbimine, teede leidmine, otsimine ja järjestamine, "ahned" algoritmid, rekursioon, dünaamiline kavandamine, ammendav otsing jt. ). Hindamismeetod: kirjalik eksam.
2. Oskab andmestruktuure kasutada praktiliste programmeerimisülesannete lahendamiseks. Hindamismeetod: praktikumid.
3. Oskab dünaamilisi andmestruktuure kavandada ning realiseerida. Hindamismeetod: individuaalne projektitöö
õppeaine õpiväljundid ingl k.
1. Student is familiar with basic data structures (linked list, stack, queue, dequeue, hash table, tree, binary tree, heap, graph), knows their properties, appropriate terminology and algorithms or techniques related to these structures (traversal methods, path finding, searching, sorting, “greedy” algorithms, recursion, dynamic programming, backtracking, etc.). Assessment method - written exam.
2. Student can use data structures in practical programming tasks. Assessment method - practices.
3. Student is able to design and implement a dynamic data structure. Assessment method - individual project work.
õppeaine sisu lühikirjeldus eesti k
Keerukuse hindamise vahendid, levinumate keerukusklasside iseloomustus.
Otsimine: lineaarne otsimine, kahendotsimine, paisktabel.
Järjestamine: pistemeetod, mullimeetod, valikumeetod, kahendpistemeetod, kiirmeetod, ühildamismeetod, loendamismeetod, positsioonimeetod, kimbumeetod.
Abstraktse andmetüübi mõiste. Dünaamilised ja staatilised andmestruktuurid. Pinu, järjekord, eelistusjärjekord, kahepoolne järjekord. Ahel, ringahel, topeltseotud ahel. Pööratud poola kuju.
Puustruktuurid. Puude töötlemise tüüpilised algoritmid - preorder, postorder, inorder. Puu esitusvõimalused.
Graaf ja sellega seotud mõisted. Orienteeritud ja orienteerimata graaf, multigraaf. Graafi kujutamisviisid, külgnevusmaatriks, lühimate teepikkuste maatriks. Graafi töötlemine sügavuti ja laiuti. Näitealgoritmid graafidel.
Kahendotsimise puu, AVL-puu, värvitud puu, B-puu. Kahendkuhi, kuhjameetod.
Kodeerimine ja pakkimine. Huffmani ja Shannon-Fano meetodid.
Programmeerimistehnikad: rekursioon, ammendav otsing, dünaamiline kavandamine.
Projektitööna peab iga üliõpilane iseseisvalt kavandama ning realiseerima mingi dünaamilise andmestruktuuri.
õppeaine sisu lühikirjeldus ingl k
Basics tools of analysis of algorithms, properties of common complexity classes.
Searching: linear search, binary search, hashtable.
Sorting: insertion sort, bubble sort, selection sort, binary insertion sort, quicksort, merge sort, counting sort, radix sort, bucket sort.
Abstract data types. Dynamic and static data structures. Stack, queue, priority queue and dequeue. Linked list, circular list, doubly linked list. Reverse Polish notation (RPN).
Tree structures. Traversal of trees – pre-order, post-order, in-order. Forms of expression for trees.
Basics of graphs. Directed and undirected graphs, multigraphs. Representation of graphs, adjacency matrix, matrix of shortest pathlengths. Depth-first and breadth-first traversal of a graph. Examples of algorithms on graphs.
Binary search trees, AVL trees, red-black trees, B-trees. Heaps, heapsort.
Coding and compressing, coding schemes: Huffman, Shannon-Fano.
Students have to write an individual project on design and implementation of a dynamic data structure.
hindamisviis eesti k
Andmestruktuuride projekt - 30%, harjutused - 30%, kirjalik eksam - 40%
hindamisviis ingl k
Data structures project - 30%, exercises - 30%, written exam - 40%
iseseisev töö eesti k
-
iseseisev töö ingl k
-
õppekirjandus
https://en.wikibooks.org/wiki/Data_Structures
https://www.teaduskool.ut.ee/sites/default/files/teaduskool/oppetoo/voistlusprogrammeerimine_i_osa.pdf
Course homepage: http//enos.itcollege.ee/~jpoial/andmestruktuurid/
õppevormid ja mahud
päevaõpe: nädalatunnid
3.0
sessioonõppe töömahud (semestris):
loenguid
2.0
loenguid
-
praktikume
1.0
praktikume
-
harjutusi
0.0
harjutusi
-
vastutav õppejõud
-
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2025/2026 sügis
Einar Kivisalu, IC - IT kolledž
eesti keel
    ICM0004_Hindamiskriteeriumid.pdf 
    kuva rohkem
    2023/2024 sügis
    Einar Kivisalu, IC - IT kolledž
    eesti keel
      2022/2023 sügis
      Einar Kivisalu, IC - IT kolledž
      eesti keel
        2021/2022 sügis
        Einar Kivisalu, IC - IT kolledž
        eesti keel
          ICM0004_Hindamiskriteeriumid.pdf 
          2020/2021 sügis
          Jaanus Pöial, IC - IT kolledž
          eesti keel
            ICM0004_Hindamiskriteeriumid.pdf 
            2019/2020 sügis
            Jaanus Pöial, IC - IT kolledž
            eesti keel
              ICM0004_Hindamiskriteeriumid.pdf 
              2018/2019 sügis
              Jaanus Pöial, IC - IT kolledž
              eesti keel
                ICM0004_Hindamiskriteeriumid.pdf 
                Ainekaart eesti keeles
                Ainekaart inglise keeles