>>sortie
12
-3
15
-9
17
7
Contenus | Capacités attendues | Commentaires |
---|---|---|
Parcours séquentiel d’un tableau | Écrire un algorithme de recherche d’un extremum, de calcul d’une moyenne. | On montre que le coût est linéaire |
Dans ce chapitre, nous allons étudier des algorithmes de parcours séquentiel d’un tableau pour:
Ces algorithmes «séquentiels» ne sont pas du tout efficace, on les appelle en anglais Brute force algorithms.
Comme vu dans le chapitre P3C2, on peut itérer sur les valeurs ou sur les index.
On fait une itération sur les valeurs du tableau en utilisant le mot-clé in
.
C’est la méthode classique utilisée dans les langages impératifs.
On initialise la valeur au premier élément du tableau puis on parcourt le tableau pour vérifier s’il existe un élément soit plus petit soit plus grand.
On initialise une valeur accumulatrice à 0, puis on additionne tous les éléments du tableau. Enfin on divise la somme des éléments par le nombre d’éléments du tableau.
Pour mesurer l’efficacité temporelle d’un algorithme, on introduit la notion de complexité.
La complexité d’un algorithme est le nombre d’opérations élémentaires(opération arithmétique, comparaison, affectation…) effectuées pour obtenir un résultat.
La complexité d’un algorithme dépend souvent de la taille des données d’entrée notée . Dans notre cas la taille du tableau dans lequel on recherche l’élément.
Pour comparer facilement les algorithmes on se place dans le pire des cas, dans les algorithmes présentés il faut toujours parcourir entièrement la liste pour trouver le maximum, le minimum ou la moyenne: il y a donc itérations.
On dit que le coût de l’algorithme est linéaire ou encore que c’est un algorithme de complexité .