LI 012 : Algorithmes et Structures de données


La conception de programmes informatiques de qualité nécessite aussi bien un travail sur l'organisation des actions, leur contrôle (algorithmique) qu'un travail sur les données : leur mode de codage, de stockage, représentation, etc. (structures de données).

L'objectif du cours est d'aborder ces deux aspects de la conception, en étudiant quelques grandes classes de problèmes identifiés et leurs solutions.

On s'intéressera dans chaque cas aux différentes méthodes de résolution de problème, en évaluant ces méthodes selon différents point de vue : efficacité (coût de stockage et de calcul), lisibilité, généralité, ré-utilisabilité…


Emploi du temps

Horaires : Mardi, de 12:00 à 14:00
Salle : 305, Barre 24-34, 3e
Rythme : Semestriel (S2)
Premier cours Mardi 12 Février

Modalités de contrôle

  • Contrôle continu
    Un DST (30%), un DNS (20%), et un partiel en fin de semestre (50%)
  • Contrôle terminal
    Un examen en fin de semestre (100%)

Plan (sommaire et indicatif) du cours

  • Les mots : algorithmes de recherche de facteurs.
  • Les tris : algorithmes standards, en nlogn, récursifs.
  • Structures linéaires (1) :
    • Exercices
    • Polycopié(s) : Code complet implémentation chaînée par curseur (PS, PDF, TXT)
  • Structures linéaires (2) : piles, files, etc.
    • Exercices
    • Polycopiés : exemples d'utilisation de pile : manipulation d'expressions arithmétiques (PS, PDF) ; code C implémentation pile d'entiers chaînée par tableau (PS, PDF, TXT)
  • Structures non linéaires (1) : les arbres.

Contrôles

Bibliographie


http://www.linguist.jussieu.fr/~amsili/Ens/LI012.html lun jui 8, 2002 Ma maison-page