|
|
|
@ -96,12 +96,13 @@ Dans le calcul, on suppose que le coût de chaque instruction élémentaire est
|
|
|
|
|
def triBulles(T):
|
|
|
|
|
for i in range(len(T)-1, 0, -1): # Boucle extérieure
|
|
|
|
|
for j in range(i): # Boucle intérieure
|
|
|
|
|
if T[j+1] < T[j]: # Comparaison +1
|
|
|
|
|
tmp = T[j] # Affectation +1
|
|
|
|
|
T[j] = T[j+1] # Affectation +1
|
|
|
|
|
T[j+1] = tmp # Échange +1
|
|
|
|
|
if T[j+1] < T[j]: # Comparaison +4 (car 2 accès à un tableau, une comparaison et une addition)
|
|
|
|
|
tmp = T[j] # Affectation +2 (un accès et une affectation "=")
|
|
|
|
|
T[j] = T[j+1] # Affectation +4 (2 accès, une affectation et une addition)
|
|
|
|
|
T[j+1] = tmp # Échange +3 (1 accès, une affectation et une addition)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- La **boucle extérieure** s'exécute \( n-1 \) fois.
|
|
|
|
|
- La **boucle intérieure** s'exécute \( i \) fois à chaque itération de la boucle extérieure.
|
|
|
|
|
- Le coût de la **comparaison** et de l'**échange** est constant. On suppose donc que chaque itération de la boucle intérieure coûte \( O(1) \).
|
|
|
|
|