Volumes horaires
- CM 15.0
- Projet 0
- TD 15.0
- Stage 0
- TP 18.0
Crédits ECTS
Crédits ECTS 2.0
Objectif(s)
L'enseignement introduit les principales notions et structures de données à la base des solutions à de nombreux problèmes non numériques. Il aborde la programmation récursive et les principales structures de données dynamiques et types abstraits utilisées aujourd'hui (listes, piles, files, arbres, graphes) et présente quelques implémentations et algorithmes utilisant ces structures de données.
Contact Nicolas CASTAGNEContenu(s)
- Principales notions abordées :
- Programmation récursive, notion de complexité
- Notion de Type de Données Abstraites
- Structures de données chaînées linéaires : listes, piles, files
- Dictionnaires et tables de hachage
- Structures de données arborescentes : arbres binaire
- Tp : Ces notions sont mises en oeuvre BE par les étudiants, en langage C, sous Linux, sur des exemples concrets; Quelques exemples de problèmes traités :
- Fractale de MandelBrot et Récursivité
- Tri par tas
- Jeu de carte de la bataille avec pile et file
- Vérificateur orthographique et Table de Hachage
- Calcul formel de dérivée d'expressions mathématiques et arbre binaire
- Mini projet: Recherche d'itinéraires dans le métro et le RER parisien par recherche du plus court chemin dans un graphe avec différents algorithmes : Dijkstra, Bellman, A-Star.
Prérequis
Cours de programmation du premier semestre
En présentiel
SESSION NORMALE :
Types d'évaluation (examen écrit, oral, CC, TP, Rapport, ...) :
*Évaluation rattrapable :*
Type d'évaluation : Projet
Durée :
Documents autorisés :
Documents interdits :
Matériels spécifiques autorisés :
Calculatrice :
Possible en distanciel :
Commentaire :
*Évaluation non rattrapable :*
Type d'évaluation : CC
Durée :
Documents autorisés :
Documents interdits :
Matériels spécifiques autorisés :
Calculatrice :
Possible en distanciel :
Commentaire :
SESSION DE RATTRAPAGE :
Types d'évaluation (examen écrit, oral, CC, TP, Rapport, ...) :
Type d'évaluation : Examen écrit
Durée : 2h
Documents autorisés : Aucun
Documents interdits : Tous
Matériels spécifiques autorisés :
Calculatrice :
Possible en distanciel :
Commentaire :
-------------------------------------------------------------------------
En distanciel
SESSION NORMALE :
Types d'évaluation (examen écrit, oral, CC, TP, Rapport, ...) :
*Évaluation rattrapable :*
Type d'évaluation : Projet
Durée :
Documents autorisés :
Documents interdits :
Matériels spécifiques autorisés :
Calculatrice :
Commentaire :
*Évaluation non rattrapable :*
Type d'évaluation : CC
Durée :
Documents autorisés :
Documents interdits :
Matériels spécifiques autorisés :
Calculatrice :
Commentaire :
SESSION DE RATTRAPAGE :
Types d'évaluation (examen écrit, oral, CC, TP, Rapport, ...) :
Type d'évaluation : Examen écrit
Durée : 2h
Documents autorisés : Tous
Documents interdits : Aucun
Matériels spécifiques autorisés :
Calculatrice :
Commentaire :
Contrôle continue : CC
Examen écrit Session1 : DS1
Examen écrit Session 2 : DS2
N1 = Note finale session 1
N2 = Note finale session 2
En présentiel :
N1 = 20% max(CC) + 80% max(Projet)
N2 = 20% max(CC1) + 80% DS2
En distanciel :
N1 = 20% max(CC) + 80% max(Projet)
N2 = 20% max(CC1) + 80% DS2
Commentaire :
Robert Sedgewick : Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms, Addison-Wesley, 2002, 0201756080
C.Froidevaux, M.C.Gaudel, M.Soria : Types de données et algorithmes , McGraw-Hill, 1990
A. Aho, J. Hopcroft, J. Ullman. Data structures and algorithms .Addison-Wesley, 1983.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest : Introduction to Algorithms. MIT Press and McGraw-Hill., Third Edition. MIT Press, 2009. ISBN 978-0-262-53305-8.s