Aller au contenu

DSA · Fiche pratique

Cheatsheet : Contrats et coûts

Relier opérations, invariants et modèles de coût.

Par · Cours gratuit

Définitions, contrats et coûts

Relier opérations, invariants et modèles de coût.

Contrats et coûts
NotionÀ retenir
ContratDécrire entrées, sorties, erreurs et mutations.
O / ΘBorne supérieure / borne serrée ; annoncer pire cas, moyenne ou amortissement.
MémoireCompter stockage auxiliaire, copies et sortie séparément.

Vérifier sur un exemple

Une somme vérifiable

Comparez une somme incrémentale à la spécification avant de raisonner sur son coût.

Python
# running_total.py
values = [4, -2, 7]
total = 0
for value in values:
    total += value
assert total == sum(values)
print(total)
# Expected output:
# 9

Résultat expliqué. Chaque élément est lu une fois : Θ(n) additions dans le modèle à entiers de taille bornée et Θ(1) mémoire auxiliaire.

Erreur à éviter. Des entiers arbitrairement grands changent le coût d’une addition.

Une boucle qui traite deux fois chaque élément devient-elle quadratique ?

Non : 2n opérations restent Θ(n), si chaque opération a un coût borné.

Télécharger cette fiche en PDF · Toutes les fiches DSA