In this course you will get familiar with the theory and practice of basic concepts and techniques in algorithms. The course covers mathematical induction, techniques for analyzing algorithms, elementary data structures, the design of algorithms by induction, Sorting and searching, Merge sort, quicksort, heapsort, binary search, graph algorithms and data structures, graph traversals, shortest paths, spanning trees, matching, network flows, and elements of the theory of NP-completeness.
- Professor: Michael Kapralov
- Teaching assistant: Etienne Bamas
- Teaching assistant: Marina Drygala
- Teaching assistant: Xinrui Jia
- Teaching assistant: Mikhail Konobeev
- Teaching assistant: Anastasiia Kucherenko
- Teaching assistant: Mikhail Makarov
- Teaching assistant: Rodrigo Raya
- Teaching assistant: Kshiteej Jitesh Sheth
- Teaching assistant: Weronika Wrzos-Kaminska