Structures de données avancées et leurs algorithmes 8INF805 – Automne 2007
Objectifs du cours: Acquérir les fondements théoriques et pratiques des structures de données et des algorithmes qui leur sont associés dans le but de comprendre comment les justifier, les utiliser et les incorporer dans la résolution des problèmes. L’accent sera mis sur les propriétés fondamentales de ces structures et l’étude de leurs complexités (spatiale et temporelle : pire cas, cas moyen et amortie), sans toutefois négliger les aspects reliés à leurs implantations et leurs applications.
Sommaire du cours
1. Introduction à la complexité des algorithmes
a. différentes mesures de complexité et notation asymptotique b. complexité dans le pire cas, le cas moyen et amortie
c. analyse des algorithmes itératifs et récursifs 2. Structures de données de base
tableaux: problèmes de tri (internes et externes) et recherche en tables.
3. listes, piles et files: applications et implantations 4. Arbres
a. applications et implantations b. algorithmes de parcours c. arbres binaires
c.1. arbres de recherche (classiques et self adjusting) c.2. arbres équilibrés (AVL, B, B+, rouge et noir, etc) c.3. files de priorité (tas binaire, binomial, fibonacci) 5. Graphes
a. modélisation et implantations
b. algorithmes de parcours et applications, le plus court chemin, arbre de poids minimum, cycle eulérien et hamiltonien, etc.
6. Ensembles disjoints: implantions, union et recherche dans ces ensembles.
8. Projet sur des thèmes reliés aux structures de données.
Références
G. Brassard, P. Bratly (1996): Fundamentals of algorithms, Prentice Hall.
T. Cormen et al. (1990): Introduction to algorithms, McGraw Hill.
H.R. Lewis, L. Dennenberg (1991): Data structures and their algorithms, Addison Wesley.
E. Horowitz, S. Sahni and D. Metha (1999): Fundamentals of data structures,
W.H. Freeman.
Mehta and S. Sahni, eds (2005): Data Structures and Applications, Chapman-Hall/CRC
Évaluation et renseignements
Examen de mi-session: 25%
Examen de fin de session: 25%
Devoirs (2 à 3): 25%
Projet et présentation orale sur un thème donné : 25%
Seuil de passage: 60%