Lire des coûts
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 2 — Recherche séquentielle et dictionnaires
É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 += 1Corrigé
- (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 teffectue un parcours complet de la liste, ce qui coûte dans le cas le pire. La complexité globale est donc quadratique, soit .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.