Vous êtes sur la page 1sur 16

Algorithmique

1 de 15

Cours dAnalyse, Algorithmique


Florent Hivert
Mel : Florent.Hivert@lri.fr
Adresse universelle : http://www.lri.fr/~hivert

Algorithmique

2 de 15

Informations pratiques

25 heures de cours ;
25 heures de travaux diriges ;

Evaluation
:
2 `a 3 controles + examen final + (eventuellement) projet.

Algorithmique

Plan du cours

Introduction ;
ements de programmation ;
El

Outils mathematiques ;

Tableaux et type de donnee abstrats ;

Listes chanees ;

Arbres ;

Graphes.

3 de 15

Algorithmique

Generalites sur le traitement de linformation

Les ordinateurs sont utilises pour


le traitement dinformations ;
le stockage dinformations.

4 de 15

Algorithmique

5 de 15

Generalites sur le traitement de linformation (2)


Le schema global dune application informatique est toujours le
meme :
Reception

Emission

Traitement des

dinformations

informations

dinformations deduites

Exemple :
reception de
n valeurs
numeriques

somme de ces n valeurs


et division
du resultat par n

emission de la
moyenne
arithmetique

Algorithmique

6 de 15

La notion de programme

Tout traitement demande `a la machine, par lutilisateur, est


effectue par lexecution sequencee doperations appelees
instructions. Une suite dinstructions est appelee un programme.

Retenir
Un programme est une suite dinstructions permettant `a une
syst`eme informatique dexecuter une tache donnee
ecrit dans un langage de programmation comprehensible
(directement ou indirectement) par un ordinateur.
Donnees

Programme

Resultats

Algorithmique

7 de 15

Quest-ce que la programmation ?

Retenir

Ecriture
dun programme dans un langage de programmation
donnee.
Langage de programmation : ensemble de r`egle de vocabulaire
et de grammaire comprehensible par un ordinateur.
int fun(int x) {
x = x + 1;
return x;
}
void main(void) {
printf("%i", fun(2));
}

Algorithmique

8 de 15

La notion dalgorithme

Pour resoudre un probl`eme de mani`ere informatique il y a un


cheminement methodique `a respecter :

Enonc
e
Probl`eme

Programme

algo.

Algo.

(instructions)

Resultats

Algorithmique

9 de 15

La notion dalgorithme (2)


Definition (Notion dAlgorithme)
description formelle dun procede de traitement qui permet, `a
partir dun ensemble dinformations initiales, dobtenir des
informations deduites ;
succession finie et non ambigue doperations clairement
posees ;
se termine toujours.

Definition (Notion de Programme)


suite dinstructions definies dans un langage donne ;
decrit un algorithme.

Algorithmique

10 de 15

Algorithmique

11 de 15

Algorithmique

Exemple dalgorithme
Algorithme (Calcul de la moyenne dun tableau de notes)
Entrees : un entier n, un tableau de n nombres `a virgules
Sorties : la moyenne des nombre du tableau
i est un entier ; s un nombre `a virgule.
initialiser s avec 0
pour i de 1 `a n faire
ajouter le i-`eme element du tableau `a s
retourner s/n

12 de 15

Algorithmique

Exemple dalgorithme
Algorithme (Calcul de la moyenne dun tableau de notes)
Entrees : un entier n, un tableau de n nombres `a virgules
Sorties : la moyenne des nombre du tableau
i est un entier ; s un nombre `a virgule.
initialiser s avec 0
pour i de 1 `a n faire
ajouter le i-`eme element du tableau `a s
retourner s/n

Quel est le nombre dadditions effectuees par cet algorithme ?

12 de 15

Algorithmique

13 de 15

Differentes problematiques
terminaison : terminera en un temps fini.
complexit
e en temps : terminera en un temps borne
(raisonnable).
complexit
e en espace : terminera en utilisant une quantite
de memoire bornee (raisonnable).
correction : si lalgorithme termine en donnant une
proposition de solution, alors cette solution est correcte.
compl
etude : pour un espace de probl`emes donne,
lalgorithme, sil termine, donnera toujours des propositions de
solutions.

Algorithmique

Objectifs du cours dalgorithmique

Concevoir des algorithmes simples ;


Analyser les performances dun algorithme :
notion de complexite ;
Algorithmes fondamentaux : description et complexite ;
Structures de donnees performantes :
listes chanees, arbres, tables de hachage, graphes.

14 de 15

Algorithmique

15 de 15

Bibliographie
Mots cles : algorithmique, analyse dalgorithmes.
Cardon A. et Charras C. Introduction `a lalgorithmique
et `a la programmation. Ellipses, 1996.
Cormen, Leiserson, Rivest et Stein, Introduction `a
lalgorithmique, Dunod, 2002.
Graham, Knuth et Patashnik, Mathematiques concr`etes,
Fondations pour lInformatique, International Thomson
publishing France, 1998.
Granjon, Algorithmes en Pascal et en langage C, Dunod, 2004.
Krob, Algorithmique et structures de donnees, Ellipses, 1989.
Froidevaux, Gaudel et Soria, Types de donnees et algorithmes
McGraw-Hill 1990 Ediscience International 1993, 577 pages