la complexité d'une fonction qui enlève les elements redondants dans une liste chainée
bonjour à Tous,
pouvez vous m'aidez SVP à calculer la compléxité de la fonction suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| liste redondance(liste l){
liste red,p,prev;
if(l==NULL)
return l;
red=l;
while(red!=NULL){
p=red->suivant;
prev=red;
while(p!=NULL){
if(p->val==red->val){
prev->suivant=p->suivant;
free(p);
p=prev->suivant;
}
else{
p=p->suivant;
prev=prev->suivant;
}
}
red=red->suivant;
}
return(l);
} |
ma réponse est o(n²)=o(n*n), o(n) est le nombre d'itérations de la première boucle "while" et O(n) c'est la deuxieme grandeur de la deuxieme boucle "while". et vu l'imbrication, j'ai multiplié n par n.
vos avis please, sinon pouvez vous me dire comment je peux calculer la complexité de telle function?
merci d'avance