ALGO-AGREG

ENS Cachan Antenne de Bretagne - Année 2013/2014



Vendredi 13 septembre 2013 Séance introductoire avec des exercices
Message : distinguer interface/implémentation, diviser pour régner, analyse amortie
1)Implémentation d'une file à l'aide de deux piles (avec analyse amortie)
2) Etant donné un tableau T, chercher le kème élément dans la permutation triée de T
3) Algorithme de Strassen. Si on a un algorithme en O(n^c) pour calculer le carré d'une matrice, a-t-on un algorithme en O(n^c) pour calculer le produit de deux matrices ?
Feuille d'exercices

Devoir maison
Lire "divide and conquer" dans Algorithms, Papadimitriou et al.
Lire "tri" dans le Cormen
Vendredi 20 septembre 2013 Séance arbre rouge/noir
I) Définition
II) Insertion
III) Suppression
IV) Quelques mots sur la persistance
Fiche des transformations

Mardi 24 septembre 2013 Table de hachage
I) Vecteurs de bits et adressage direct (avec l'exercice où il n'y a pas besoin d'initialiser le tableau)
II) Chaînage
III) Hachage universel
IV) Hachage parfait
V) Adressage ouvert

Devoir maison
Union-find
Tas de Fibonacci (dans le poly ou Cormen)
6 décembre 2013 Graphes
Panorama des problèmes sur les graphes

Fiche d'exercices
1) Algorithme de Kosaraju
2) Utilisation du graphe quotient des composantes fortement connexes pour optimiser le calcul de la fermeture réflexive et transitive d'un graphe
3) 2SAT via les composantes fortement connexes
4) Trouver le puits, s'il existe
5) Composantes bi-connexes
6) Adaptation de Djikstra à un problème original
7) Plus court chemin et programmation linéaire
vendredi 7 février 2014 Nous abordons un problème d'ordonnancement d'intervalles : trouver le maximum d'intervalles dans un ensemble quelconques d'intervalles. Si on le considère comme un problème sur les graphes, on tombe sur le problème de calculer un ensemble indépendant maximal dans un graphe. C'est un problème NP-complet.
Il y a mieux : utiliser la structure des intervalles pour trouver une stratégie gloutonne.
Malheureusement, si on ajoute des poids aux intervalles, la stratégie gloutonne ne fonctionne plus. On a recourt alors à la programmation dynamique. Démonstration


Références

Autre cours sur internet