Я хочу рассчитать сложность этой функции.Следующий код удаляет избыточные элементы из упорядоченного списка.
Мой ответ на его сложность: O(n²) = O(n*n)
«n» для первого while
и «n» для второго while
.
Правильный ли мой ответ?Если нет, то как правильно рассчитать сложность?
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);
}
Заранее спасибо.