All teaching activities in the course will be held on English. This level includes courses with multiple groups (i.e., all teaching will be held strictly in Croatian for Croatian groups, and strictly in English for English groups).
* Load is given in academic hour (1 academic hour = 45 minutes)
As a continuation of course materials treated in Programming and software engineering, basic data structures and algorithms are presented. After the topic of dynamic memory allocation, examples of memory allocations and function calling mechanism are presented. Computational complexity of algorithms is introduced. Addressing techniques are presented, followed by searching and hashing. Recursion is explained and illustrated. Algorithms for sorting are explained and illustrated. Basic data structures are built, such as stack and queue. Dynamic data structures are introduced: singly and multiply linked lists, binary trees, and heap as a special case of binary tree. Heap sort serves as an illustration of priority queue application.
Data Structures and Algorithms in C++; Adam Drozdek; Course Technology; 2000; ISBN: 978-0534491826
Data Structures and Algorithm Analysis in C (2nd Edition); M. A. Weiss; Addison Wesley; 1996; ISBN: 978-0201498400
Algorithms in C: Fundamentals, Data Structures, Sorting, Searching and Graph Algorithms in C; R. Sedgewick; Addison Wesley; 2001; ISBN: 978-0201314526