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
ces 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.
ces objectifs
Voir aussi