Algorithmique et programmation : année 2007-2008

Le cours présente les bases sur les structures de données et les principes de conception des algorithmes ainsi qu'un certain nombre de développements plus avancés. On attend des étudiants un minimum de connaissances algorithmiques. Chaque séance est organisée en deux parties, la première consacrée aux connaissances de base et la seconde à un résultat plus avancé (ou exceptionnellement plusieurs).

Les TD proposent la mise en œuvre des connaissances abordées en cours. Les TP ont un rythme indépendant et sont une initiation à la programmation en C.

Planning prévisionnel

Cours d'algorithmique
Lundi 15h15-18h15, salle Amphi Galois (NIR)
(Jacques Stern)
TD d'algorithmique
Mercredi 8h45-10h45, salle U ou V
(P.-A. Fouque et D. Vergnaud)
1 octobre 2007
Algorithmes: conception et évaluation
cours de base: terminaison, complexité, stratégies de programmation,
cours avancé: bin packing, allocation dynamique de mémoire.
3 octobre 2007 [PAF]
TD Algorithmes: conception et évaluation
Fibonacci, Huffman, recouvrement de sommets, TSP.
[sujet]
Première partie : algorithmique des structures de données
8 octobre 2007
Tri et hachage
cours de base: exemples de tris, hachage, collisions, hachage ouvert,
cours avancé: tri Shell.
10 octobre 2007 [PAF]
TD Tri et hachage
Manipulation d'ensembles. Minimum, médiane, tri optimum.
[sujet]
15 octobre 2007
Recherche de motifs
cours de base: Rabin-Karp, Knuth-Morris-Pratt,
cours avancé: algorithmes de bio-informatique.
17 octobre 2007 [DV]
TD Recherche de motifs
Boyer-Moore, Aho-Corasick.
[sujet]
22 octobre 2007
Arbres
cours de base: arbres de recherche, exemples,
cours avancé: tas fusionnables (tas binomiaux, tas de Fibonacci).
24 octobre 2007 [PAF]
TD Arbres
Frontière, B-Arbres, rotations AVL.
[sujet]
29 octobre 2007
Graphes
cours de base: Fermeture transitive, composantes connexes, plus courts chemins,
cours avancé: valeurs propres et graphe d'expansion.
31 octobre 2007 [PAF]
TD Graphes
graphe bipartite, circuits eulériens, composantes biconnexes, arborescences.
[sujet]
5 novembre 2007
Flots
cours de base: Ford-Fulkerson, Edmonds-Karp,
cours avancé: Flots unitaires, Dinic, couplages maximaux.
7 novembre 2007 [DV]
TD Flots
Hall, connectivité, survie.
[sujet]
Seconde partie : algorithmique numérique
12 novembre 2007
Entiers
cours de base: multiplication, exponentiation,
cours avancé: tests de primalité.
14 novembre 2007 [PAF]
TD Entiers
chaînes d'addition-soustraction, fractions continues, racines carrées, génération de premier, reconstruction de rationnel.
[sujet]
19 novembre 2007
Transformation de Fourier rapide
cours de base: FFT, complexité,
cours avancé: multiplication rapide.
21 novembre 2007 [PAF]
TD Transformation de Fourier rapide
Flottants. Multiplication d'entiers. Division flottante.
[sujet]
26 novembre 2007
Algèbre linéaire et géométrie des nombres
cours de base: décomposition LUP, moindres carrés,
cours avancé: réseaux à coordonnées entières; algorithme LLL.
28 novembre 2007 [DV]
TD Algèbre linéaire
[sujet]
3 décembre 2007
[Examen : algorithmique des structures de données]
5 décembre 2007
Rien
10 décembre 2007
Programmation linéaire
cours de base: simplexe, complexité,
cours avancé: méthode de l'ellipsoïde.
12 décembre 2007 [DV]
TD Programmation linéaire
Algorithme du Simplexe.
[sujet]
7 janvier 2008
Factorisation des polynômes
cours de base: polynômes à coefficients entiers, pgcd, polynômes binaires,
cours avancé: algorithme de Berlekamp, Cantor-Zassenhaus.
9 janvier 2008 [DV]
TD Factorisation des polynômes
[sujet]
14 janvier 2008
Systèmes d'équations polynomiales
cours de base: Ordres sur les monômes, bases standard (de Gröbner), algorithme de Buchberger,
cours avancé: théorème de Mayr et Meyer
16 janvier 2008 [PAF]
TD Systèmes d'équations polynomiales
Séparation de zéros, polynômes de Cauchy.
[sujet]
21 janvier 2008 [PAF-DV]
[Examen : algorithmique numérique]
23 janvier 2008 [PAF-DV]
Présentation Projet de Programmation</font>