COURSE OUTLINE
Session 7
Minimum spanning trees: Kruskal’s and Prim’s algorithms (guest lecturer: Dr Dmitrii Pasechnik)
Session 8
Shortest paths algorithms (single-source and all-pairs) (guest lecturer: Dr Dmitrii Pasechnik)
Session 5
First test. Heaps
Session 6
Elementary graph algorithms: breadth-first and depth-first search, topological sort, strongly connected components (guest lecturer: Dr Dmitrii Pasechnik)
Session 9
Matchings; Hungarian algorithm
Session 10
Second test. Divide and conquer algorithms
Session 1
Introduction
Basics of algorithms analysis, time and space, big-O notation, worst-case and average-case analysis. Illustration: simple sorting algorithms
Session 3
Basic data structures: stacks, queues, linked lists, hash tables.
Session 2
Sorting and order statistics: heapsort, bucketsort, median selection
Session 4
Binary search tree.
Session 11
Greedy algorithms
Session 12
Greedy algorithms
Session 13
Dynamic programming
Session 14
Dynamic programming
Session 15
Exam