Algorithmique et Structures de Données

  • Cours (CM) -
  • Cours intégrés (CI) 14h
  • Travaux dirigés (TD) -
  • Travaux pratiques (TP) 14h
  • Travail étudiant (TE) -

Langue de l'enseignement : Français

Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant

Description du contenu de l'enseignement

Définition des qualités d'un programme : modularité, lisibilité, robustesse et fiabilité. Définition de structures de données linéaires abstraites comme les piles, les files et les listes. Résolution de problèmes concrets et choix d'une structure de données. L'objectif final de cet enseignement est de d'apprendre à construire, à partir d'un algorithme, les structures de données qui permettront, de mettre en oeuvre cet algorithme. Il s'agit également d'évaluer et de comprendre l'effet de l'utilisation d'une structure de données spécifique sur l'efficacité de l'algorithme.

Compétences à acquérir

Les compétences sont celles qu'il faut développer pour la construction d'un programme informatique
- l'élaboration de l'algorithme (déjà abordé au semestre précédent) ;
- le choix de la représentation des données ;
- l'énumération des interactions qu'on doit pouvoir exercer sur la structure de données ;
- en déduire les entêtes de fonctions nécessaires pour réaliser ces interactions ;
- le choix de la structure de données abstraite la mieux adaptée à l'algorithme ;
- le choix de la structure de données concrète adéquate ;
- l'évaluation de l'impact de cette structure de données sur la complexité de l'algorithme ;
- la mise en oeuvre de ces étapes en langage Python

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact