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