QCM
Vérifications rapides

Sept questions courtes sur les boucles imbriquées.

1.Une boucle externe effectue tours ; à chaque tour, une boucle interne effectue tours, dont le corps a un coût constant. Quel est le coût total ?

2.Quel est le coût de tri_a_bulles dans le pire des cas ?

3.Dans paire_plus_proche, pourquoi l’indice interne j part-il de i + 1 plutôt que de  ?

4.Parmi les affirmations suivantes sur le coût quadratique, lesquelles sont vraies ?

5.Quel est le coût, dans le pire cas, de la recherche naïve d’un motif de longueur dans un texte de longueur  ?

6.Dans la démonstration de correction du tri à bulles, quel invariant est établi après le tour de la boucle externe ?

7.Quand la boucle interne d’un algorithme à deux boucles a elle-même un comportement non trivial (comme dans recherche_motif), combien de niveaux d’invariants la méthode du cours recommande-t-elle d’utiliser ?

Exercice
Dérouler le tri à bulles

Soit a = [5, 3, 4].

Dérouler l’exécution de tri_a_bulles(a), en indiquant le contenu du tableau après chaque échange.

Passe  :

  •  : , on échange
  •  : , on échange

Passe  :

  •  : , pas , pas d’échange

Le tableau final est [3, 4, 5], bien trié.

. À la passe , j parcourt range(n - 1 - i), soit . À la passe , j parcourt range(n - 1 - i), soit seulement.

Exercice
Calculer la paire la plus proche

Soit a = [4, 10, 7, 12].

a.

Calculer pour chacun des six couples avec .

b.

En déduire le couple renvoyé par paire_plus_proche(a).

Le plus petit écart est , atteint pour le couple (soit et ). La fonction renvoie donc .

La suite est gratuite avec un compte

Encore 3 blocs dans ce document. Créer un compte ne demande qu'une adresse e-mail.