Programmation, Algorithmique et Structures de données
8SIF109
Université du Québec à Chicoutimi
Département d’informatique et de mathématique Hiver 2011
Professeur : Djamal Rebaïne
Adresse électronique : drebaine@uqac.ca Bureau : P4-5280.
Téléphone : 545-5011; poste: 5220.
Page web: wwwens.uqac.ca/~rebaine
Objectifs: Acquérir les notions fondamentales sur les structures de données et algorithmes ainsi que leur analyse à travers le langage de programmation C++.
Contenu du cours
1. Éléments du langage C++.
2. Introduction à la complexité des algorithmes (itératifs et récursifs).
3. Structures de données linéaires (listes, piles et files) et utilisation de la STL.
4. Arbres : implémentations, stratégies de parcours, arbres binaires de recherche, monceaux, AVL, et B-arbres.
5. Graphes : modélisation, implémentations, stratégies de parcours, plus court chemin, arbre couvrant de poids minimum.
6. Algorithmes de tri : sélection, insertion, bulles, tri par fusion, tri rapide, etc.
7. Algorithmes de recherche : tables et fonctions de hachage.
Formules pédagogiques: l’étudiant(e) sera amené(e), à travers des séances d’exercices et 3 à 4 devoirs pratiques, à vérifier et à éclaircir les concepts étudiés en cours. Des séances de dépannage et de consultation sont prévues à cet effet. Veuillez prendre note qu’il est fortement conseillé d’assister aux séances de cours, TD et TP. De plus, les notes de cours mises sur mon site ne restent que des notes; des développements de ces notes sont souvent apportés durant les séances de cours.
Livres recommandés
(obligatoire) Shaffer, C.A. (1997): A practical introduction to data structures and algorithms, Prenctice Hall.
P. J. Gabrini (2005): Structures de données avancées avec la STL, Loze-Dion Éditeur Inc.
Stroustroup, B. (1991): The C++ programming language, Addison Wesley.
H.M. Deitel et P.J. Deitel (2001) : Comment programmer en C++, Les éditions Reynald Goulet Inc
Évaluation
Examen de mi-session: 30%
Examen de fin de session: 30%
Devoirs: 40%
Seuil de passage: 60%.
Remarques utiles
Dès que le besoin se fait sentir, j’encourage les étudiant(e)s à venir me voir à tout moment pour une aide personnalisée. Toutefois, il est préférable de prendre rendez-vous.
Suivant le rythme d’avancement, le nombre de devoirs sera de 3 ou 4. Les étudiants peuvent travailler en groupe de deux s’ils le désirent.