Vous êtes sur la page 1sur 16

1 de 15

Cours dAlgorithmique
Florent Hivert
Ml : Florent.Hivert@lri.fr
Adresse universelle : http://www.lri.fr/hivert
2 de 15
Informations pratiques
25 heures de cours ;
25 heures de travaux dirigs ;
valuation :
2 3 contrles + examen nal + (ventuellement) projet.
3 de 15
Plan du cours
1 Introduction ;
2 lments de programmation ;
3 Outils mathmatiques ;
4 Tableaux et type de donne abstrats ;
5 Listes chanes ;
6 Arbres ;
7 Graphes.
4 de 15
Gnralits sur le traitement de linformation
Les ordinateurs sont utiliss pour
le traitement dinformations ;
le stockage dinformations.
5 de 15
Gnralits sur le traitement de linformation (2)
Le schma global dune application informatique est toujours le
mme :
Rception Traitement des mission

dinformations informations dinformations dduites
Exemple :
rception de somme de ces n valeurs mission de la
n valeurs et division moyenne
numriques du rsultat par n arithmtique
6 de 15
La notion de programme
Tout traitement demand la machine, par lutilisateur, est
eectu par lexcution squence doprations appeles
instructions. Une suite dinstructions est appele un programme.
Retenir
Un programme est une suite dinstructions permettant une
systme informatique dexcuter une tche donne
crit dans un langage de programmation comprhensible
(directement ou indirectement) par un ordinateur.
Donnes = Programme = Rsultats
7 de 15
Quest-ce que la programmation ?
Retenir
criture dun programme dans un langage de programmation
donne.
Langage de programmation : ensemble de rgle de vocabulaire et
de grammaire comprhensible par un ordinateur.
int fun(int x) {
x = x + 1;
return x;
}
void main(void) {
printf("%i", fun(2));
}
8 de 15
La notion dalgorithme
Pour rsoudre un problme de manire informatique il y a un
cheminement mthodique respecter :
nonc Programme
Problme Algo. Rsultats
algo. (instructions)
9 de 15
La notion dalgorithme (2)
Dnition (Notion dAlgorithme)
description formelle dun procd de traitement qui permet,
partir dun ensemble dinformations initiales, dobtenir des
informations dduites ;
succession nie et non ambigue doprations clairement
poses ;
se termine toujours.
Dnition (Notion de Programme)
suite dinstructions dnies dans un langage donn ;
dcrit un algorithme.
10 de 15
11 de 15
12 de 15
Exemple dalgorithme
Algorithme (Calcul de la moyenne dun tableau de notes)
Entres : un entier n, un tableau de n nombres virgules
Sorties : la moyenne des nombre du tableau
i est un entier ; s un nombre virgule.
initialiser s avec 0
pour i de 1 n faire
ajouter le i -me lement du tableau s
retourner s/n
12 de 15
Exemple dalgorithme
Algorithme (Calcul de la moyenne dun tableau de notes)
Entres : un entier n, un tableau de n nombres virgules
Sorties : la moyenne des nombre du tableau
i est un entier ; s un nombre virgule.
initialiser s avec 0
pour i de 1 n faire
ajouter le i -me lement du tableau s
retourner s/n
Quel est le nombre dadditions eectues par cet algorithme ?
13 de 15
Direntes problmatiques
terminaison : terminera en un temps ni.
complexit en temps : terminera en un temps born
(raisonnable).
complexit en espace : terminera en utilisant une quantit
de mmoire borne (raisonnable).
correction : si lalgorithme termine en donnant une
proposition de solution, alors cette solution est correcte.
compltude : pour un espace de problmes donn,
lalgorithme, sil termine, donnera toujours des propositions de
solutions.
14 de 15
Objectifs du cours dalgorithmique
Concevoir des algorithmes simples ;
Analyser les performances dun algorithme :
notion de complexit ;
Algorithmes fondamentaux : description et complexit ;
Structures de donnes performantes :
listes chanes, arbres, tables de hachage, graphes.
15 de 15
Bibliographie
Mots cls : algorithmique, analyse dalgorithmes.
Cardon A. et Charras C. Introduction lalgorithmique et
la programmation. Ellipses, 1996.
Cormen, Leiserson, Rivest et Stein, Introduction
lalgorithmique, Dunod, 2002.
Graham, Knuth et Patashnik, Mathmatiques concrtes,
Fondations pour lInformatique, International Thomson
publishing France, 1998.
Granjon, Algorithmes en Pascal et en langage C, Dunod, 2004.
Krob, Algorithmique et structures de donnes, Ellipses, 1989.
Froidevaux, Gaudel et Soria, Types de donnes et algorithmes
McGraw-Hill 1990 Ediscience International 1993, 577 pages