Calcul Complexité Algorithme
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
Cliffe
- Membre Rationnel
- Messages: 967
- Enregistré le: 12 Juin 2012, 14:25
-
par Cliffe » 29 Juil 2013, 15:13
BOnjour,
J'ai besoin d'aide pour calculé la complexité de mon algorithme :
Soit n, p et m des entiers.
Soit H un graphe composé de n+1 sommets notés (0, 1, 2, ..., n).
Voila le code minimal :
- Code: Tout sélectionner
L0 = [0, 0, ..., 0] // De taille 'p'
Poser L0 sur le nud 0;
Pour i = 0 à n faire
Pour j = i + 1 à n faire
Pour chaque label Li du nud i faire
Pour t = 1 à p faire
Si Li[t] + 1 <= m
Lnew = Li; Lnew[t] += 1;
Pour chaque label Lj du noeud j faire
// Appliquer un algorithme en o(m)
fait
Poser Lnew sur le noeud j;
fsi
fait
fait
fait
Merci.
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 08:03
-
par ampholyte » 05 Aoû 2013, 09:28
Bonjour,
Pour calculer la complexité algorithmique il faut se placer dans le plus mauvais cas.
- Code: Tout sélectionner
Pour i = 0 à n
=> La complexité de la boucle for est O(n+1)
- Code: Tout sélectionner
Pour j = i + 1 à n
=> La complexité de la boucle for est O(n)
- Code: Tout sélectionner
Pour chaque label Li du nud i
=> La complexité de cette boucle est O(p) car tu as p label pour chaque Li (dans le pire des cas)
- Code: Tout sélectionner
Pour t = 1 à p
=> Ici on a O(p)
- Code: Tout sélectionner
Pour chaque label Lj du noeud j
=> O(p) dans le pire des cas
- Code: Tout sélectionner
Appliquer un algorithme en o(m)
=> O(m)
Au final tout cela te donne une complexité de : O(mnp²(n+1)) erreur incluse :zen:
As-tu compris le calcul ?
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 29 invités