Introduction à l’algorithmique
Définition :
Exemple : écriture d’un algorithme
Trouver la suite d'opérations élémentaires qui permettra de répondre à la question : "x est-il
présent dans le tableau t ?".
VARIABLE
t : tableau d’entiers
x : nombre entier
tr : booléen (VRAI ou FAUX)
i : nombre entier
DEBUT
tr ← FAUX
i←1
tant que i ≤ longueur(t) et que tr == FAUX :
si t[i] == x :
tr ← VRAI
fin si
i ← i+1
fin de tant que
renvoyer la valeur de tr
FIN
Caractéristiques :
• on définit les variables que l'on va utiliser en précisant leur type (= déclaration des
variables) ;
• on doit indiquer le début et la fin de l'algorithme ;
• écriture en langage naturel ;
• implémenter un algorithme = passage à un langage de programmation ;
• le premier élément d'un tableau a pour indice 1 ;
• on s’autorise à écrire qu’une fonction est considérée comme une opération « élémentaire »
(ex : longueur(t)) ;
• un algorithme s’exécute avec du papier et un crayon (= on le fait tourner « à la main »).
Complexité :
• elle rend compte de l’efficacité de l’algorithme ;
• en temps = liée au nombre d'opérations élémentaires qui doivent être exécutées afin de
résoudre le problème donné ;
• en mémoire (pas abordé) ;
• dans la suite, on s’intéressera à la complexité en temps dans le pire des cas, c’est-à-dire,
lorsqu’il y a le plus grand nombre d’opérations élémentaires ;
• pour comparer des algorithmes, on raisonnera sur des tableaux de grande taille (cela rend
flagrantes les différences) ;
• O = ordre de grandeur asymptotique (cas où n est très très grand) ; on écrit O(n) = …. ;
• dans le cas où on obtient, comme nombre d’opérations élémentaires, un polynôme de degrés
quelconque, il suffit de :
◦ supprimer la constante ;
◦ garder uniquement le n qui possède l'exposant le plus grand ;
◦ supprimer le coefficient devant le n ;
ex : dans notre algorithme, O(n) = n.
En effet, on a enlevé 4. Puis, on a pris 1 comme exposant de n. Et on a supprimé 3.