INF1004 - Structures de données et algorithmes  (3 crédits)

Niveau :  Première année
Département :  Mathématiques et informatique
Description :

Permettre à l'étudiant de se familiariser avec les structures de données classiques et les algorithmes qui leur sont associés; réaliser des implantations statiques et dynamiques de ces structures : faire l'évaluation de la complexité spatiale et temporelle dans les cas simples; étudier la récursion et la comparer avec l'itération.

Revue des concepts élémentaires de programmation; bases de la programmation Objet: encapsulation, dissimulation de l'information; séparation du comportement et de l'implantation; héritage et polymorphisme; conception par héritage et par composition; utilisation de fichiers; les principales structures de données: liste, pile, file, table d'adressage dispersé, arbre, graphe; implantation statique et dynamique; les algorithmes de fouille, de tri, les fonctions de hachage et les stratégies de traitement des collisions, parcours d'arbres et de graphes; le concept de récursion : les fonctions mathématiques récursives; comparaison avec les fonctions itératives correspondantes; implantation de récursion à l'aide de piles; analyse élémentaire de la complexité des algorithmes: complexité spatiale et complexité temporelle; notation "grand O", comportement du meilleur cas, du cas moyen et du pire cas; principales classes de complexité d'algorithmes; stratégies de test pour les classes et les applications.

Ce cours utilise le langage de programmation Java et la plateforme Eclipse.

Préalable 1 :

INF1002 Introduction à la programmation objet

Horaire du cours aux sessions hiver 2020

été 2020

Université du Québec
à Trois-Rivières

3351, boul. des Forges, C.P. 500
Trois-Rivières (Québec) G9A 5H7
Information générale : crmultiservice@uqtr.ca
Téléphone : 819 376-5011
Sans frais : 1 800 365-0922
Télécopieur : 819 376-5210