õppeaine eesmärgid eesti k
* Anda ülevaade olulistest algoritmidest ning andmestruktuuridest
* Anda arusaamine algoritmide ja andmestruktuuri operatsioonidega kaasnevast keerukusest
* Aidata leidma loovaid lahendusi arvutuslike probleemide efektiivseks lahendamiseks
õppeaine eesmärgid inglise k
* Introduce the important algorithms and data structures
* Give an understanding of the complexity of the algorithms and operations on data structures
* Help to how find the creative and efficient algorithmic solutions to the computational problems
õppeaine õpiväljundid eesti k.
* Teadmine ja oskus kasutada klassikalisi algoritme ja andmestruktuure
* Ülevaade erinevatest algoritmide loomise paradigmadest
* Oskus leida arvutuslikule probleemile sobiv algoritm ja seda toetavad andmestruktuurid
* Arusaamine arutusliku keerukuse mõõtudest ja oskus algoritmi keerukust analüüsida
õppeaine õpiväljundid ingl k.
* Have an understanding and ability to use the classical algorithms and data structures
* Have an overview of the different paradigms of creating an algorithm
* Ability to find a suitable algorithm and supporting data structures to the computational problem
* Have an understanding of the different measures of computational complexity and ability to analyze the complexity of an algorithm
õppeaine sisu lühikirjeldus eesti k
Kursuses käsitletakse mitmesuguseid klassikalisi andmestruktuure nagu järjekorrad, graafid, otsingupuud, paisktabelid, kuhjad jt ning nende ehitust ning rakendusi algoritmides. Uuritakse mitmesuguseid algoritme sorteerimise, andmete-, graafi- ja tekstiotsingu teostamiseks ning keerukate kombinatoorikaülesannete lahendamiseks ning nende algoritmide loomiseks kasutatavaid paradigmasid. Käsitletakse keerukusteooria baasmõisteid nagu asümptootiline keerukus ja klass NP ning erinevaid meetodeid algoritmide keerukuse hindamiseks. Kursuse praktilises osas tuleb lahendada erinevaid ülesandeid ja programmeerida lahendus mitmele, sh ka vähemalt ühele NP-raskele probleemile. Eeldatakse programmeerimisoskust ja arusaamist elementaarstest andmetüüpidest ning -struktuuridest programmeerimise põhikursuse tasemel.
õppeaine sisu lühikirjeldus ingl k
Classical data structures: queues, graphs, search trees, hash tables, heaps, their implementation and use in the algorithms. Sorting, data, graph, and text search algorithms. Algorithm design paradigms: greedy, divide and conquer, branch and bound, dynamic programming, meta-heuristics. Introduction to the complexity theory, asymptotic complexity, O-notation, class NP, different methods of complexity analysis. Practice of the course includes programming a solution to different tasks. A programming skill and understanding of the basic data types is assumed.
hindamisviis eesti k
Kirjalik eksam
hindamisviis ingl k
Written exam
iseseisev töö eesti k
Grupitöö või iseseisva tööna valminud projekt.
iseseisev töö ingl k
A practical project given either as a group or individual assignment.
õppekirjandus
A Practical Introduction to Data Structures and Algorithm Analysis Third Edition (C++ Version)
Author : Clifford A. Shaffer, Department of Computer Science, Virginia Tech
Publication Date : January 2010
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):
praktikume
1.0
praktikume
6.0