Ajout d'informations concernant les instructions élémentaires

master
Rémi LAVERGNE 6 months ago
parent 99ad5da598
commit 3d42c3e186
No known key found for this signature in database
GPG Key ID: CA264B55E97FD220

@ -78,6 +78,11 @@ Les variables d'intérêt pour l'analyse de la complexité sont généralement l
Ce sont des opérations de base, comme l'addition, l'affectation, la comparaison, etc., qui ont un coût constant, noté \( O(1) \).
Dans le calcul, on suppose que le coût de chaque instruction élémentaire est le même. Elles ont un réel impact lorsqu'elles sont exécutées un grand nombre de fois, comme dans les **boucles** *(for, while)* ou les **appels récursifs**.
Il peut s'agir des opérateurs d'**affectation** (=) ou d'**opération** (+ - * / > >= <= < and or), ainsi que les fonctions natives comme len ou range. Celles-ci compte **+1** à chaque apparition.
> +0 pour def, for, while, if, else ou return
> +2 pour les opérateurs comme +=, -=, etc...
Ne pas oublié de prendre en compte si certaines instructions sont incluses dans des boucles !
## Calcul de la Complexité
@ -94,8 +99,8 @@ Dans le calcul, on suppose que le coût de chaque instruction élémentaire est
```python
def triBulles(T):
for i in range(len(T)-1, 0, -1): # Boucle extérieure
for j in range(i): # Boucle intérieure
for i in range(len(T)-1, 0, -1): # Boucle extérieure (+2)
for j in range(i): # Boucle intérieure (+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)
@ -119,7 +124,7 @@ En réalité le calcul nous donne:
> Car on ne s'intéresse qu'au terme dominant, c'est-à-dire le terme qui croît le plus rapidement en fonction de la taille de l'entrée. Les autres termes sont négligés car ils deviennent insignifiants lorsque la taille de l'entrée devient grande.
Au final la représentation avec matplotib donne quasiment la même chose:
![Tri à Bulles](bubble-sort.png)
![Tri à Bulles](all-sorts.png)
<br>

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Loading…
Cancel
Save