Algorithms and Data Structures

Roman Podraza
Main focus on templates
Tuts & Labs are mandatory - 1 absence per sem. for each
Labs start on 3rd week of semester (22 Oct.) , 6 meetings total, 3 tasks
On the labs no. 1, 3, 5, task is assigned, no. 2, 4, 6 is the deadline

Scoring

Laboratory - 30pts (3*10pts)
Mid-term test - 20pts
Final exam - 50pts
No makeup from labs

Passing

< 16pts from labs to pass

2 - 0-50
3 - 51-60
3.5 - 61-70
4 - 71-80
4.5 - 81-90
5 - 91-100

Short pass

Needed - 14pts from mid-term, and 36pts in semester
4 - 36-40
4.5 - 41-45
5 - 46-50

Mid-term

Linear data-structures & recursion

4th December & 11th December (during tutorials)

*!!!No makeup test!!!

Lab tasks

1. Single linked list

Very theoretical, wide, general way

2. Double linked list with iterators
3. Dictionary using tree

Data structures

  1. Linear - linked lists
  2. Tree (using parent/children)
  3. Graph

Templates

template <typename Key, typename Info>
class SLL {
	// The template is recognized through Key
	// Info is not important
}

Lectures

  1. Intro
  2. Algorithm analysis and classes
  3. Array-based lists
  4. Standard Template Library
  5. Linked Lists
  6. Basic principles of OOD
  7. Recursion
  8. Graphs
  9. Binary Trees

Tutorials

  1. Single Linked List
  2. Iterator
  3. Recursion

Labs

  1. Linked list
  2. Ring
  3. Binary Tree