ECTS
4,5 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
55h
Période de l'année
Enseignement troisième semestre
Description
Une structure de données avancée est une organisation logique des données permettant de simplifier ou d'accélérer leur traitement. Dans ce cours, nous allons étudier les structures de données avancées génériques (vecteurs, listes, piles, files, arbres binaires de recherche...) ainsi que des méthodes algorithmiques qui leur sont associées. Les notions du cours seront illustrées en langage C.
Objectifs
Programme :
- Programmation récursive
- Structure de données avancées séquentielles (vecteurs, piles, files...)
- Distinction entre interface et implémentation
- Evaluation de l'efficacité (temps et mémoire) des différentes méthodes
- Structure de données avancées arborescentes (arbres binaires de recherche, B-arbres...).
Un projet permettant de mettre en œuvre les différentes notions du cours devra être réalisé dans l'un des langages suivants : C, Python ou VBA.
Évaluation
Évaluation en session 1 pour les étudiants inscrits en formule standard de contrôle de connaissances : des épreuves de contrôle continu pendant le semestre (50% de la note) incluant le rendu d’un rapport écrit et/ou une soutenance orale du projet, et un examen terminal écrit de 2h (50% de la note).
Évaluation en session 1 pour les étudiants inscrits en formule dérogatoire de contrôle de connaissances : un examen terminal écrit de 2h (100% de la note).
Évaluation en session 2 : un examen terminal écrit de 2h (100% de la note).
Heures d'enseignement
- MI-Algorithmique et programmation S3CM22h
- MI-Algorithmique et programmation S3TD33h
Compétences visées
- Savoir programmer un algorithme avancé en langage C.
- Structurer un programme de manière efficace.
- Savoir faire des choix de conception liés aux données.
- Manipuler des données structurées.
Bibliographie
Introduction au langage C, de Bernard Cassagne (disponible en ligne)