Algorithmique et complexité
- Enseignant(s)
- Laurent CAOUISSIN, Yann DAUXAIS, Antoine GUENNEC, Boris Hermann NJANJOUO, Ikko YAMANE
- Type de matière
- INFORMATIQUE
- Correspondant
- Cédric HERZET
- Module
-
UE1-03-M-E-S : Bases de données et fondements informatiques
- Nombre d'ECTS
- 2
- Code matière
- 1AINF04
- Répartition des enseignements
-
Heures de cours : 9
Heures de TP : 12
- Langue d'enseignement
- Français
- Modalités d'évaluation
- devoir maison + examen écrit
Objectifs
Calculer la complexité d’un algorithme, identifier sa classe de complexité, évaluer le temps nécessaire à sa terminaison ; Produire un algorithme en python de complexité inférieure aboutissant au même résultat ; Décrire les principaux composants d’un ordinateur
Plan
Différents types de complexité des algorithmes et des problèmes ; La notation grand-O, grand-Omega et grand-Thêta ; Algorithmes itératifs et analyse de complexité par sommation ; Algorithmes récursifs et analyse de complexité par récurrence ; La stratégie « diviser pour régner »; Structures de données telles que tableaux, listes chaînées, piles, files et tables de hachage ; Techniques de preuve comme l’induction, le raisonnement par l’absurde, et le théorème maître ; Programmation dynamique.
Prérequis
Rudiment dans la programmation impérative