Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 2 · Application directe du cours

Lire des coûts

Recherche séquentielle et dictionnaires · niveau 1 (application)

Énoncé

Déterminer la complexité dans le cas le pire (en fonction de ) des trois codes suivants :

# (a)
x = t[0] + t[-1]

# (b)
s = 0
for x in t:
    if x > 0:
        s += x

# (c)
p = 0
for x in t:
    if x in t:
        p += 1

Corrigé

  • (a) : Le code effectue deux accès à la liste et une addition. Le coût est constant, soit .
  • (b) : La boucle s'exécute fois. Chaque étape effectue des opérations élémentaires en (comparaison, addition). La complexité est linéaire, soit .
  • (c) : La boucle externe s'exécute fois. À chaque itération, le test x in t effectue un parcours complet de la liste, ce qui coûte dans le cas le pire. La complexité globale est donc quadratique, soit .

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre