Algorithms and Complexity


CentraleSupelec/ESSEC, Sep.-Dec. 2022

Home

Welcome to the Algorithms and Complexity lecture web page!

Algorithms, or formal, repeatable instructions about how to solve a given problem, are applied in many areas of our technical lives. Data science is no exception here. Whereas the availability of an algorithm makes a problem solvable in the first place, efficient algorithms are what we are searching for in practice.


This introductory course on algorithms and complexity aims at teaching the basic knowledge about the design and (theoretical) analysis of algorithms. One goal is to provide the necessary background about fundamental algorithmic concepts such as greedy algorithms or dynamic programming that will allow the participants to practically address the various algorithmic problems they might encounter in the future. The other aspect of the lecture is to understand the basics behind algorithm complexity theory and to learn how to prove that a certain problem is (likely) hard to solve and no efficient algorithm can be expected to exist.


The lecture consists of both theoretical and practical parts, with lectures and exercises intertwined. Additional (graded) home exercises provide an additional opportunity to consolidate the learned ideas.



The main topics of the lecture are:

  • Data structures
  • Sorting
  • Recursive algorithms
  • Greedy algorithms
  • Dynamic programming
  • randomized algorithms and blackbox optimization
  • complexity theory


The lecture is given by Dimo Brockhoff from September till November 2022 in a total of 8x3hrs (plus exam in December). If you are a student of CentraleSupélec, you can find all lecture-related material on the Edunao page.



Dimo Brockhoff
E-Mail: dimo.brockhoff@inria.fr
Address: Randopt team
Inria Saclay - Ile-de-France
CMAP UMR 7641 Ecole Polytechnique CNRS
Route de Saclay

91128 Palaiseau
France
Last updated: Thu, 01 Sep 2022 13:12