Le cours présente des structures de données avancées utilisées en programmation et montre leurs intérêts et les algorithmes les mettant en œuvre.
Chapitre 1 : tables de hachage
Chapitre 2 : récursivité (entiers et listes)
Chapitre 3 : arbres (parcours, ABR, AVL, arbres rouge-noir, B-arbres)
Chapitre 4 : preuves et tris (sélection du maximum, tri rapide, tri fusion)
Les TP permettent la mise en oeuvre des concepts vus en cours au semestre 2 principalement.
- TP 1 : rappel sur les listes
- TP 2 : tables de hachage
- plusieurs TP sur les arbres
- plusieurs TP sur les tris
Les TPs sont réalisés en langage C.
Les éléments vus au semestre 1 : notions de base d'algorithmique (variables, fonctions, boucles, tableaux), listes
Économie d'énergie (complexité algorithmique, optimisation)
1. « Introduction to Algorithms » par Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein, 3ème édition, 2009, 978-0262033848.
2. « Algorithms », par Robert Sedgewick et Kevin Wayne. 4ème édition, 2011, 978-0321573513.