Data Structures and Algorithms

Data Structures and Algorithms

Course title
Data Structures and Algorithms
Course tag
11012
Semester
2
Course status
Mandatory
ECTS
6
Lectures
30
Practice
30
Independent work
120
Total
180
Teachers and associates
PhD Goran Đambić, Senior Lecturer
Daniel Bele, Instructor
Mario Žagar, Instructor
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:
Sedgewick: Algorithms in C, Addison-Wesley, 2001.
Supplementary literature

Minimum learning outcomes

  1. Create simple solutions using projects with multiple files and user defined data types
  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 sort and search algorithms
  5. Define addressing techniques and recognize applications of addressing techniques.

Preferred learning outcomes

  1. Create more complex solutions using projects with multiple files and user defined data types
  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 sort and search algorithms
  5. Use addressing techniques for problem solving.