Files
1ereNSI/algorithmes/PARCOURS.md
2022-05-06 10:32:24 +02:00

2.2 KiB
Raw Permalink Blame History

Parcours séquentiel d'un tableau

Quelques exemples d'algorithmes qui nécessitent un parcours simple d'un tableau.

On utilisera ici une seule boucle for : la complexité est donc linéaire.

Le programme

bo_parcours

On supposera que tous les tableaux traités ici contiennent des nombres.

Exemples

Recherche d'occurence

Si on souhaite savoir si un élément nommé e en particulier se trouve dans un tableau tab :

def recherche(tab,e):
  occurrence = False
  for i in range (len(tab)):
    if tab[i] == e:
      occurrence = True
      return occurrence
  return occurrence

Complexité :

Le programme effectue n+1 affectation :

  • La première, avant la boucle.
  • Les n suivantes, selon la taille du tableau

Le coût est donc linéaire : proportionnel à n, il dépend donc de la taille du tableau, O(n)


Recherche d'un extremum (maximum ou minimum)

Si on souhaite trouver le plus grand élément d'un tableau tab :

def recherche_max(tab):
  max = tab[0]
  for i in range (len(tab)):
    if tab[i] > max:
      max = tab[i]
  return max

Complexité linéaire

Car on parcours toute la liste et donc pour n élèments, on effectuera n comparaisons.


Calcul d'une moyenne

def moyenne(tab):
  m = 0
  for i in range(len(tab)):
    m = m + tab[i]
  moyenne = m // len (tab)
  return moyenne

Complexité linéaire

Car on parcours toute la liste et donc pour n élèments, on effectuera n comparaisons.


Autres exemples simples :

  • Vérifier si une un tableau est rangé par ordre croissant ou décroissant
  • Chercher un mot de plus de n lettres dans une liste de mots...

Auteur : Florian Mathieu

Licence CC BY NC

Licence Creative Commons
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas dUtilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.