forked from menault/TD4_DEV51_Qualite_Algo
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
![]() |
# TD4 - DEV5.1 : Qualité algorithmique
|
|||
|
|
|||
|
## Objectifs
|
|||
|
Ce TD vise à travailler sur la **complexité algorithmique** et à améliorer la **qualité des algorithmes**.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## Exercice 2 — Calculs de complexité de fonctions
|
|||
|
|
|||
|
### Calculez la complexité des fonctions suivantes :
|
|||
|
|
|||
|
**<ins>function1 : </ins>**
|
|||
|
|
|||
|
- _Meilleur cas_ : `O(n)` → quand chaque élément de tableau1 est trouvé immédiatement dans tableau2 (grâce au break).
|
|||
|
|
|||
|
- _Pire cas_ : `0(n × m)` → quand aucun élément ne correspond, on parcourt entièrement les deux tableaux.
|
|||
|
|
|||
|
**<ins>function2 : </ins>**
|
|||
|
|
|||
|
- _Meilleur cas_ : `O(1)` → si la boucle s’arrête directement (ex. première condition vraie).
|
|||
|
|
|||
|
- _Pire cas_ : `O(x)` → si la boucle parcourt tous les éléments jusqu’à la fin.
|
|||
|
|
|||
|
**<ins>function3 : </ins>**
|
|||
|
|
|||
|
- _Meilleur cas_ : `O(1)`
|
|||
|
|
|||
|
- _Pire cas_ : `O(1)`
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## Exercice 3 — Algorithme de tri
|
|||
|
|
|||
|
### Énoncé
|
|||
|
Créer un **algorithme** permettant de trier un **tableau à N dimensions** contenant **M valeurs** puis Calculer la **complexité algorithmique** de **l’algorithme** écrit .
|
|||
|
|
|||
|
**<ins>tri_tableaux.c : </ins>**
|
|||
|
|
|||
|
- _Meilleur cas_ : `O(N × M)` → si chaque sous-tableau est déjà trié et que les sommes sont déjà dans l’ordre croissant, aucun reclassement n’est nécessaire.
|
|||
|
|
|||
|
- _Pire cas_ : `O(N × M (log M + log N))` → si chaque sous-tableau est totalement désordonné et que les sommes doivent être recalculées à chaque comparaison pendant le tri principal.
|
|||
|
|
|||
|
|