Goals

Deepen students' knowledge of analysis, algorithms, resolution methods, performance and programming. Among the course objectives, it is important to give students the knowledge and the practical methods and tools necessary for the implementation of the activity of modeling solutions and/or designing algorithms and their programming. The study of problems known to be complex and their solutions are proposed as well to complete this course.

Programme

  • Analysis and the complexity computation of recursif algorithms (cf. CAML).
  • Short introduction to TDAs and notable data types algorithmic solving strategies.
  • Divide and Conquer Strategy, Dynamic Programming.
  • Greedy approach (greedy / gradient approach).
  • Algorithms with depth/breath first search , Back Tracking (AES and BT).
  • Branch and Bound (B&B).
  • Resolution of the characteristic equation for the complexity computation.
  • Examples of complexity calculation.
  • Proof methods (optional).
  • Introduction to NP theory (optional).
  • Algorithms on number theory with complexity (optional), optimization (in the sense of operation research).
  • Graph as modeling tools, Graph algorithms, Graph theory.
Autonomy
12h
 
Course
8h
 
PW
28h
 

Responsibles

  • Lamia DERRODE
  • Alexandre SAIDI

Language

French

Keywords

Algorithm, Algorithm analysis, Complexity, Graph, Problem Solving, Resolution strategy