0% ont trouvé ce document utile (0 vote)
5 vues16 pages

Introduction à l'algorithmique

Le document présente un cours d'algorithmique et de complexité. Il contient des informations pratiques sur le cours, le plan du cours, et des définitions et exemples sur les notions d'algorithme, de programme et de complexité.

Transféré par

kïm lauretta
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues16 pages

Introduction à l'algorithmique

Le document présente un cours d'algorithmique et de complexité. Il contient des informations pratiques sur le cours, le plan du cours, et des définitions et exemples sur les notions d'algorithme, de programme et de complexité.

Transféré par

kïm lauretta
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1 de 15

Cours d'Algorithme et complexité

Florent Hivert
[Link]@[Link]
Adresse universelle : [Link]
Dr JDD Nkapkop, PhD
2 de 15

Informations pratiques

24 heures de cours ;

12 heures de travaux dirigés ;

Évaluation :
2 à 3 contrôles + examen final + (éventuellement) projet.
3 de 15

Plan du cours

1 Introduction ;
2 Éléments de programmation ;
3 Outils mathématiques ;
4 Tableaux et type de donnée abstraîts ;
5 Listes chaînées ;
6 Arbres ;
7 Graphes.
4 de 15

Généralités sur le traitement de l’information

Les ordinateurs sont utilisés pour

le traitement d’informations ;

le stockage d’informations.
5 de 15

Généralités sur le traitement de l’information (2)

Le schéma global d’une application informatique est toujours le


même :
Réception Traitement des Émission
−→ −→
d’informations informations d’informations déduites

Exemple :
réception de somme de ces n valeurs émission de la
n valeurs −→ et division −→ moyenne
numériques du résultat par n arithmétique
6 de 15

La notion de programme

Tout traitement demandé à la machine, par l’utilisateur, est


effectué par l’exécution séquencée d’opérations appelées
instructions. Une suite d’instructions est appelée un programme.

Retenir
Un programme est une suite d’instructions permettant à une
système informatique d’exécuter une tâche donnée
écrit dans un langage de programmation compréhensible
(directement ou indirectement) par un ordinateur.

Données =⇒ Programme =⇒ Résultats


7 de 15

Qu’est-ce que la programmation ?

Retenir
Écriture d’un programme dans un langage de programmation
donnée.
Langage de programmation : ensemble de règle de vocabulaire et
de grammaire compréhensible par un ordinateur.

int fun(int x) {
x = x + 1;
return x;
}
void main(void) {
printf("%i", fun(2));
}
8 de 15

La notion d’algorithme

Pour résoudre un problème de manière informatique il y a un


cheminement méthodique à respecter :

Énoncé Programme
Problème → → Algo. → → Résultats
algo. (instructions)
9 de 15

La notion d’algorithme (2)

Définition (Notion d’Algorithme)

description formelle d’un procédé de traitement qui permet, à


partir d’un ensemble d’informations initiales, d’obtenir des
informations déduites ;
succession finie et non ambigue d’opérations clairement
posées ;
se termine toujours.

Définition (Notion de Programme)

suite d’instructions définies dans un langage donné ;


décrit un algorithme.
10 de 15
11 de 15
12 de 15

Exemple d’algorithme

Algorithme (Calcul de la moyenne d’un tableau de notes)

Entrées : 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 d’algorithme

Algorithme (Calcul de la moyenne d’un tableau de notes)

Entrées : 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 d’additions effectuées par cet algorithme ?


13 de 15

Différentes problématiques

terminaison : terminera en un temps fini.

complexité en temps : terminera en un temps borné


(raisonnable).

complexité en espace : terminera en utilisant une quantité


de mémoire bornée (raisonnable).

correction : si l’algorithme termine en donnant une


proposition de solution, alors cette solution est correcte.

complétude : pour un espace de problèmes donné,


l’algorithme, s’il termine, donnera toujours des propositions de
solutions.
14 de 15

Objectifs du cours d’algorithmique

Concevoir des algorithmes simples ;

Analyser les performances d’un algorithme :


notion de complexité ;

Algorithmes fondamentaux : description et complexité ;

Structures de données performantes :


listes chaînées, arbres, tables de hachage, graphes.
15 de 15

Bibliographie

Mots clés : algorithmique, analyse d’algorithmes.


Cardon A. et Charras C. – Introduction à l’algorithmique et à
la programmation. – Ellipses, 1996.
Cormen, Leiserson, Rivest et Stein, Introduction à
l’algorithmique, Dunod, 2002.
Graham, Knuth et Patashnik, Mathématiques concrètes,
Fondations pour l’Informatique, International Thomson
publishing France, 1998.
Granjon, Algorithmes en Pascal et en langage C, Dunod, 2004.
Krob, Algorithmique et structures de données, Ellipses, 1989.
Froidevaux, Gaudel et Soria, Types de données et algorithmes
McGraw-Hill 1990– Ediscience International 1993, 577 pages

Vous aimerez peut-être aussi