The main focus of the course is to provide conceptual undrestanding of algorithms and data structures needed for programming. The course topics also include algorithms and methods to express and analyse the complexity of algorithms.
The course gives a systematic overview of different data types, data structures and algorithms needed for effective programming.
The course covers searching and sorting algorithms, some text algorithms, classical data structures: stack, queue, dequeue, hashtable, tree, BST, B-tree, graph. Implementation of graphs and trees is used as a programming excercise.
A student who has successfully completed the course is familiar to the basic data structures and should be capable to analyse and implement the basic algorithms.
Main textbook: M.T.Goodrich, R.Tamassia. Data Structures and Algorithms in Java
Kursus annab ülevaate algoritmidest ja andmestruktuuridest ning nende realiseerimisest keele Java baasil. Tutvustatakse olulisemaid meetodeid klassikaliste algoritmikaprobleemide lahendamisel, s.h. otsimine ja järjestamine; andmete organiseerimine: magasin, järjekord, list, paisktabel, puu, kuhi, graaf; sõnetöötluse algoritmid; rekursioon, ammendav otsing jt. programmeerimistehnikad. Kursuse lõpetanu tunneb põhilisi andmestruktuure (magasin, ahel, puu, graaf, paisktabel, jt.), nende omadusi ning nendega seotud algoritme/tehnikaid (rekursioon, otsimine, järjestamine, andmestruktuuride läbimine, teede leidmine) ja oskab neid keeles Java realiseerida.
Main textbook: M.T.Goodrich, R.Tamassia. Data Structures and Algorithms in Java
Kursus annab ülevaate algoritmidest ja andmestruktuuridest ning nende realiseerimisest keele Java baasil. Tutvustatakse olulisemaid meetodeid klassikaliste algoritmikaprobleemide lahendamisel, s.h. otsimine ja järjestamine; andmete organiseerimine: magasin, järjekord, list, paisktabel, puu, kuhi, graaf; sõnetöötluse algoritmid; rekursioon, ammendav otsing jt. programmeerimistehnikad. Kursuse lõpetanu tunneb põhilisi andmestruktuure (magasin, ahel, puu, graaf, paisktabel, jt.), nende omadusi ning nendega seotud algoritme/tehnikaid (rekursioon, otsimine, järjestamine, andmestruktuuride läbimine, teede leidmine) ja oskab neid keeles Java realiseerida.
- Õpetaja/Teacher: Jaanus Pöial