Faculty of Technical Sciences

Subject: Introduction to Algorithms (17.ESI053)

General information:
 
Category Scientific-professional
Scientific or art field Primenjeno softversko inženjerstvo
ECTS 9

Acquiring basic knowledge about algorithms and data structures. Understanding complexities of algorithms and learning numerous algorithms for common problems in software development.

Knowledge of common algorithms and data structures. These algorithms will be implemented and their complexities will be understand in real examples.

Basic of algorithms (definitions, features, algorithm analysis, algorithm description, pseudo-code, basic algorithmic problems, algorithm complexity, asymptotic notations, etc.). Search problem (linear searching, binary search). Sorting problem and sorting algorithms (selection sort, insertion sort, recursion and divide-and-conquer algorithm, merge sort, quicksort, heap structure and heapsort, priority queue, etc.). Linear-time sorting algorithms (counting sort, radix sort, bucket sort). Order statistics (problem description, minimum and maximum, medians, and algorithm). Elementary data structures (stacks and queues, linked lists, operations, implementations, trees, binary trees, BST, AVL, etc.). Hash tables (dictionaries, operations, hashing functions, collisions and linked lists, open addressing, asymptotic algorithm complexity, etc.). Graphs (definition, examples and graph types, directed acyclic graphs, representations of graphs, etc.). Graph algorithms (topological sort, graph search, breadth-first search, depth-first search, etc.). Shortest paths graphs (shortest paths in DAG, Dijkstra’s algorithm, Bellman-Ford algorithm, etc.). Complex problems (P and NP problems, NP-complete problems, NP-hard problems, exponential problems, examples). Dynamic programming (elements, examples, etc.). Parallel algorithms (sequential and parallel execution, Amdahl's law, implementation complexities, examples). Examples of algorithms implemented in cryptography, data compression, string operations, etc.)

Lectures; Auditory and computer practice; Consultations.

Authors Title Year Publisher Language
Thomas H. Cormen Algorithms Unlocked 2013 MIT Press English
Cormen, T.H. et al. Introduction to Algorithms 2009 MIT Press, Cambridge English
Uhr, Leonard Algorithm-Structured Computer Arrays and Networks 1984 Academic Press English
Wirth, N. Algorithms and data structures 1986 Prentice-Hall, Englewood Cliffs English
Knuth, D.E. The Art of Computer Programming 1998 Addison-Wesley, Upper Saddle River English
Yatsko, A., Suslow, W. Insight into Theoretical and Applied Informatics : Introduction to Information Technologies and Computer Science 2015 De Gruyter Open, Berlin English
Course activity Pre-examination Obligations Number of points
Test Yes Yes 10.00
Test Yes Yes 10.00
Project Yes Yes 30.00
Test Yes Yes 10.00
Test Yes Yes 10.00
Oral part of the exam No Yes 30.00

Prof. Erdeljan Aleksandar

Full Professor

Lectures
API Image

Asst. Prof. Stoja Sebastijan

Assistant Professor

Computational classes

Assistant - Master Kovačević Ivana

Assistant - Master

Computational classes

Assistant - Master Sekulić Jelena

Assistant - Master

Computational classes

Assistant - Master Brkić Sandra

Assistant - Master

Computational classes

Faculty of Technical Sciences

© 2024. Faculty of Technical Sciences.

Contact:

Address: Trg Dositeja Obradovića 6, 21102 Novi Sad

Phone:  (+381) 21 450 810
(+381) 21 6350 413

Fax : (+381) 21 458 133
Emejl: ftndean@uns.ac.rs

© 2024. Faculty of Technical Sciences.