×

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

Prof. Aleksandar Erdeljan

Full Professor

Lectures

API Image

Asst. Prof. Sebastijan Stoja

Assistant Professor

Computational classes

Assistant - Master Ivana Kovačević

Assistant - Master

Computational classes

Assistant - Master Jelena Sekulić

Assistant - Master

Computational classes

Assistant - Master Sandra Brkić

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.