• Aucun résultat trouvé

Programmation informatique et Algorithmique

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation informatique et Algorithmique"

Copied!
6
0
0

Texte intégral

(1)

Programmation et Algorithmique

INF 421, ´ Ecole Polytechnique

Philippe Baptiste et Luc Maranget

(2)
(3)

Avant-propos

Ce polycopi´e est utilis´e pour le cours INF 421 intitul´e Les bases de la programmation et de l’algorithmique. Ce cours fait suite au cours INF 311Introduction `a l’informatique et pr´ec`ede le cours INF 431 intitul´eFondements de l’informatique. L’objectif du cours est triple : (1) program- mer en java, (2) maˆıtriser les bases de l’algorithmique sur des structures dynamiques (listes, arbres) et (3) introduire quelques notions fondamentales d’informatique comme les expressions r´eguli`eres, les automates et l’analyse syntaxique.

Nous utilisions jusqu’`a l’an pass´e le polycopi´e r´edig´e par Jean Berstel et Jean-Eric Pin. Pour prendre en compte les r´ecents changements dans l’organisation des cours d’informatique de l’´Ecole, nous avons d´ecid´e de r´ediger une nouvelle version de ce polycopi´e. Nous esp´erons qu’elle est aussi claire, aussi pr´ecise et aussi simple que la pr´ec´edente. Nous avons d’ailleurs conserv´e de nombreux passages de J. Berstel et J.-E. Pin (en particulier pour les chapitres relatifs aux arbres).

Nous remercions nos coll`egues de l’´Ecole Polytechnique, et plus particuli`erement ceux qui ont d’une mani`ere ou d’une autre contribu´e au succ`es du cours INF 421 : Philippe Chassignet, Mathieu Cluzeau, Thomas Heide Clausen, Robert Cori, Xavier Dahan, Olivier Devillers, Thomas Houtmann, Philippe Jacquet, Fabien Laguillaumie, Fabrice Le Fessant, Laurent Mauborgne, David Monniaux, Sylvain Pradalier, Alejandro Ribes, Dominique Rossin, ´Eric Schost, Nicolas Sendrier, Jean-Jacques L´evy, Fran¸cois Morain, Laurent Viennot et Axelle Ziegler. Merci aussi `a Christoph D¨urr du LIX, qui a magnifiquement illustr´e la page de couverture1 de ce polycopi´e.

Les auteurs peuvent ˆetre contact´es par courrier ´electronique aux adresses suivantes : [email protected]

[email protected]

On peut aussi consulter la version html de ce polycopi´e ainsi que les pages des travaux dirig´es sur le site http ://www.enseignement.polytechnique.fr/informatique/inf421

1Le 421 est un jeu de bar qui se joue au comptoir avec des d´es.

3

(4)
(5)

Table des mati` eres

I Listes 7

1 Structure dynamique, structure s´equentielle . . . 7

2 Listes chaˆın´ees, r´evisions . . . 10

3 Tri des listes . . . 23

4 Programmation objet . . . 32

5 Compl´ement : listes boucl´ees . . . 36

II Piles et files 45 1 A quoi ¸ca sert ? . . . .` 46

2 Impl´ementation des piles . . . 51

3 Impl´ementation des files . . . 57

4 Type abstrait, choix de l’impl´ementation . . . 63

III Associations — Tables de hachage 65 1 Statistique des mots . . . 65

2 Table de hachage . . . 68

3 Choix des fonctions de hachage . . . 78

IV Arbres 81 1 D´efinitions . . . 81

2 Union-Find, ou gestion des partitions . . . 83

3 Arbres binaires . . . 87

4 Arbres de syntaxe abstraite . . . 92

5 Files de priorit´e . . . 96

6 Codage de Huffman . . . 102

V Arbres binaires 113 1 Implantation des arbres binaires . . . 113

2 Arbres binaires de recherche . . . 117

3 Arbres ´equilibr´es . . . 124

VI Expressions r´eguli`eres 135 1 Langages r´eguliers . . . 135

2 Notations suppl´ementaires . . . 138

3 Programmation avec les expressions r´eguli`eres . . . 140

4 Impl´ementation des expressions r´eguli`eres . . . 144

5 Une autre approche du filtrage . . . 150 5

(6)

Cliquez ici pour telecharger le PDF complet

Références

Documents relatifs

pour cpt ←1à nbVal faire afficher("Donnez une valeur :") saisir(valeur). totalValeurs←totalValeurs+ valeur

Les sociétés vues sous cet aspect sont dépendantes d’attentions que les individus manifestent les uns envers les autres, et l’on peut dire que sans confiance

L’étude vise la caractérisation des processus cognitifs, largement implicites, que des entraîneurs experts en gymnastique artistique manifestent au cours de

Dans cette approche, la conduite est envisagée comme une activité complexe, relevant de quatre niveaux hiérarchiques de comportement, avec à la base le maniement du

On utilisera un tri à bulles. Rappel de la méthode de résolution la plus simple : on parcourt le tableau. Si une valeur est plus grande que la suivante, on les inverse les deux

Dans la suite, nous utiliserons pour toutes les structures de contrôle la forme avec les ac- colades mais il existe la forme sans accolades (et donc avec une seule instruction) que

Rajouter un test pour contrôler que a est dans et b dans * (type(a,integer) rend vrai si a est entier et faux sinon et type(a,posint) rend vrai ssi a est dans

La taille d’un int est comprise entre celle d’un short int d’un long int. Notons que int est optionnel quand on utilise short