Algorithmes et Programmation
Ecole Polytechnique
Robert Cori
Jean-Jacques Lévy
Avant-propos
Introduction
Complexité des algorithmes
Scalaires
Tableaux
Le tri
Recherche en table
Programmes en Caml
Récursivité
Fonctions récursives
Indécidabilité de la terminaison
Procédures récursives
Fractales
Quicksort
Le tri par fusion
Programmes en Caml
Structures de données élémentaires
Listes chaînées
Files
Piles
Evaluation des expressions arithmétiques préfixées
Opérations courantes sur les listes
Programmes en Caml
Arbres
Files de priorité
Borne inférieure sur le tri
Implémentation d'un arbre
Arbres de recherche
Arbres équilibrés
Programmes en Caml
Graphes
Définitions
Matrices d'adjacence
Fermeture transitive
Listes de successeurs
Arborescences
Arborescence des plus courts chemins.
Arborescence de Trémaux
Composantes fortement connexes
Programmes en Caml
Analyse Syntaxique
Définitions et notations
Exemples de Grammaires
Arbres de dérivation et arbres de syntaxe abstraite
Analyse descendante récursive
Analyse LL
Analyse ascendante
Evaluation
Programmes en C
Modularité
Un exemple: les files de caractères
Interfaces et modules
Interfaces et modules en Java
Compilation séparée et librairies
Dépendances entre modules
Tri topologique
Un exemple de module en C
Modules en Caml
Exploration
Algorithme glouton
Exploration arborescente
Programmation dynamique
Programmes en Caml
Java
Un exemple simple
Quelques éléments de Java
Syntaxe BNF de Java
Caml
Un exemple simple
Quelques éléments de Caml
Syntaxe BNF de Caml
Initiation au système Unix
Trousse de Survie
Approfondissement
Unix et le réseau de l'X
Bibliographie Unix
Références
Index
Ce document a été traduit de L
A
T
E
X par
H
E
V
E
A
.
Ce document a été coupé en morceaux par
H
A
C
H
A
.