Approfondissement des notions de structures de données, algorithmes et programmation

Approfondissement des notions de structures de données, algorithmes et programmation

Ce cours aborde les points suivants :

  • structures de données classiques ;
  • tables, adressage calculé, associatif, indexé, partagé, hachage ;
  • graphes orientés et non orientés, hypergraphes ;
  • algorithmes classiques de parcours (en profondeur et en largeur) dans les graphes ;
  • fermetures de relations binaires : algorithme de Warshall ;
  • recherche de plus court chemins : algorithmes de Dijkstra, Bellmann et Floyd ;
  • arbres binaires et généraux, forêts, dictionnaires, arbres équilibrés, arbres AVL, files de priorité, arbres quaternaires, B-arbres ;
  • algorithmes sur les arbres, arbres de recouvrement ;
  • algorithmes de tri interne et externe ;
  • optimalité et complexité des algorithmes de tri ;
  • introduction à la gestion de la mémoire et ramasse-miettes ;
  • implantations concrètes et programmation, par exemple en C, Java ou Ocaml.
Objectifs

Les objectifs de ce cours sont :

  • maîtriser une variété de structures de données classiques existantes  ;
  • connaître les principaux algorithmes sur ces structures de données  ;
  • choisir des structures de données adaptées aux problèmes à résoudre  ;
  • savoir évaluer la complexité des solutions retenues  ;
  • savoir spécifier, implanter et programmer de façon efficace.

image logo Modifier ces objectifs
Niveau et prérequis conseillés

Cours de niveau 14. Les prérequis conseillés sont :


Image logo Modifier ces prérequis

Référents

Ces personnes sont prêtes à vous aider concernant ce cours :


Image logo Modifier cette liste