### Repository

Repository is empty

### Data structures and algorithms

 Code: 24206 ECTS: 5.0 Lecturers in charge: prof. dr. sc. Robert Manger - Lectures Lecturers: Sebastijan Horvat, mag. inf. et math. - Exercises Lucija Relić, mag. math. - Exercises dr. sc. Ivana Šain Glibić - Exercises English level: 1,0,0 All teaching activities will be held in Croatian. However, foreign students in mixed groups will have the opportunity to attend additional office hours with the lecturer and teaching assistants in English to help master the course materials. Additionally, the lecturer will refer foreign students to the corresponding literature in English, as well as give them the possibility of taking the associated exams in English.

### 1. komponenta

Lecture typeTotal
Lectures 30
Exercises 30
Description:
COURSE AIMS AND OBJECTIVES: Acquiring basic knowledge about abstract data types, and data structures that are used for their implementation. Getting familiar with basic techniques for design and analysis of algorithms.

COURSE DESCRIPTION AND SYLLABUS:
1. Introduction. The notion of type, abstract data type, and data structure. Building blocks of a data structure: arrays, records, pointers, cursors. The notion of algorithm. Specification and analysis of algorithms.
2. Abstract data types. Lists, stacks, queues, ordered trees, binary trees, sets, dictionaries, priority queues, mappings.
3. Data structures (serving for implementation of the considered abstract data types). Linked lists and other linked structures, hash tables, binary search trees, heaps.
4. Basic algorithms (performing basic operations over structures). Insertion and deletion of data, traversal, searching, retrieval of contents, etc.
5. More complex algorithms (that apply the considered structures). Sorting and merging of lists, evaluation of arithmetic expressions, various recursive procedures.
6. General algorithm design techniques. Divide and conquer, dynamic programming, greedy approach, backtracking, local search.
Literature:
1. R. Manger, M. Marušić: Strukture podataka i algoritmi, 2. izdanje
2. A. V. Aho, J. E. Hopcroft, J. D. Ullman: Data Structures and Algorithms
3. E. Horowitz, S. Sahni, S. Anderson-Freed: Fundamentals of Data Structures in C
4. E. Horowitz, S. Sahni, S. Rajasekaran: Computer Algorithms / C++
5. R. L. Kruse, B. P. Leung, C. L.Tondo: Data Structures and Program Design in C, 2nd edition
6. B. R. Preiss: Data Structures and Algorithms with Object-Oriented Design Patterns in C++
7. M. T. Goodrich, R. Tamassia: Algorithm Design - Foundations, Analysis, and Internet Examples
8. K. Loudon: Mastering Algorithms with C
Prerequisit for:
Enrollment :
Passed : Computer programming 2
 3. semester Mandatory course - Regular study - Mathematics
Consultations schedule:

### Content

Link to the course web page: https://web.math.pmf.unizg.hr/nastava/spa/