A voir également:
- Complexité algorithme
- Complexité algorithme fibonacci ✓ - Forum - Programmation
- Complexité algorithme ✓ - Forum - Programmation
- Fibonnaci à complexité logaritmique ✓ - Forum - Programmation
- La complexite des algorithmes de tris ✓ - Forum - Programmation
- Algorithme du produit matriciel ✓ - Forum - Programmation
1 réponse
Doctor C
- Messages postés
- 627
- Date d'inscription
- mardi 12 juin 2007
- Statut
- Membre
- Dernière intervention
- 19 février 2016
Bon, mes cours d'analyse d'algo sont un peu loin mais voici ma pensée:
Algo 1:
La boucle externe (i) varie selon le nombre d'éléments à traiter n moins 10. Cette boucle a une complexité de O(n-10) ce qui peut être réduit à O(n).
La boucle interne (j) possède une complexité constante, c'est-à-dire 10.
L'algorithme aurait donc une complexité de O(10n), la constante étant négligeable, on peut simplement retirer le 10 et on obtient: O(n)
Algo 2:
La boucle externe (i) varie selon le nombre d'éléments à traiter n. Cette boucle a une complexité de O(n).
La boucle interne (j) varie proportionnellement à i (qui est directement lié à n), cette boucle possède donc aussi une complexité de O(n).
L'algorithme aura donc une complexité de O(n) * O(n) = O(n²).
Echo "Lima Mike Alfa";
Algo 1:
La boucle externe (i) varie selon le nombre d'éléments à traiter n moins 10. Cette boucle a une complexité de O(n-10) ce qui peut être réduit à O(n).
La boucle interne (j) possède une complexité constante, c'est-à-dire 10.
L'algorithme aurait donc une complexité de O(10n), la constante étant négligeable, on peut simplement retirer le 10 et on obtient: O(n)
Algo 2:
La boucle externe (i) varie selon le nombre d'éléments à traiter n. Cette boucle a une complexité de O(n).
La boucle interne (j) varie proportionnellement à i (qui est directement lié à n), cette boucle possède donc aussi une complexité de O(n).
L'algorithme aura donc une complexité de O(n) * O(n) = O(n²).
Echo "Lima Mike Alfa";
Quand i=1 on fait 1 boucle j, quand i=2 on fait 2 boucles j, , quand i=3 on fait 3 boucles j, etc.
Du coup on fait 1+2+3+...+n boucles j au total. Soit n(n+1)/2 opérations élémentaires x += 3
La complexité est donc de O(n²/2+n/2+1) = O(n²)
Il faudrait que je ressorte mes livres d'université!