Poursuivre le développement des connaissances en méthodologies de résolution de problèmes et de programmation. Initier aux types abstraits de données, à leurs applications. Rendre apte à mettre en oeuvre des structures de données classiques et à analyser leurs avantages et leurs défauts respectifs. Initier aux principes de l'algorithmique. Apprendre à utiliser efficacement la librairie standard du C++ (STL).
Structures de données abstraites : piles, files, listes, arbres, graphes, tables de hachage, B-arbres. Algorithmes utilisant ces structures : algorithmes de tri, de hachage. Étude théorique et mise en oeuvre des algorithmes de gestion de ces structures : insertion, élimination, recherche, tri. Analyse de l'efficacité des algorithmiques : introduction à la notation asymptotique. Introduction au langage C++: notions de classe et de template. Organisation matérielle des fichiers : séquentielle, indexée, séquentielle-indexée. Utilisation de la STL: étude des principaux conteneurs (vector, list, stack, queue, map, set, etc.), utilisation des itérateurs (standard, constants et inversés).
Préalable(s): (8PRO107)
Ce cours n'est dans aucun programme ouvert aux admissions.