Data Structures and Algorithms

Data Structures and Algorithms

Course title
Data Structures and Algorithms
Course tag
10012
Semester
2
Course status
Mandatory
ECTS
5
Lectures
30
Practice
30
Independent work
90
Total
150
Teachers and associates
dr. sc. Goran Đambić, dipl. ing.
Daniel Bele, ing.
Mario Žagar, dipl. ing.
The course aims
Learn basic characteristics of standard data structures (list, stack, queue, binary tree) and learn algorithms used by those data structures in modern programming language C++.
Content
Classes, constructors and destructors. Algorithm complexity. Stack, queue, single and double linked list. Trees and traversal algorithms. Heap. Sorting and searching. Binary search tree. Dictionaries.
Literature:
Miroslav Slamić, Tomislav Hoško: Strukture podataka i algoritmi, Algebra, Zagreb, 2009.
Supplementary literature
Sedgewick: Algorithms in C, Addison-Wesley, 2001.

Minimum learning outcomes

  1. Define algorithm, analyze simpler algorithms and define recursive algorithms.
  2. Define and use simpler data structures (list, stack, queue)
  3. Define and use more complex data structures (tree, heap, priority queue)
  4. Define and use sorting algorithms.
  5. Define and use searching algorithms.
  6. Define addressing techniques and recognize applications of addressing techniques.

Preferred learning outcomes

  1. Compare existing algorithms, analyze more complex algorithms and solve problems with recursion.
  2. Create solutions based on simpler data structures (list, stack, queue)
  3. Create solutions based on more complex data structures (tree, heap, priority queue)
  4. Construct solutions based on sorting algorithms.
  5. Construct solutions based on searching algorithms.
  6. Use addressing techniques for problem solving.