1.4 KiB
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 :
function1 :
-
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.
function2 :
-
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.
function3 :
-
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 .
tri_tableaux.c :
-
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.