Witajcie,
Potrzebuję pomocy w wyliczeniu złożoności dla algorytmów gdzie pętla wewnętrzna zależy od poprzednika tzn. zmiennej uzyskanej z poprzedniej pętli, przykładowo:
while (j<n)
Potrafię wyliczać złożoności dla z góry określonych zmiennych wzg. których porusza się pętla, ale nie wiem jak rozwiązać takie zadania jak poniżej.
m=0;
for (t=n-1; t>=0; t--)
for (i=1; i<=n-t; i++)
{
j=0;
while (j<n)
{
if (A[j]>A[j+1]) m=A[i];
else if (A[j]<A[j+1]) m=A[j];
else break;
j++;
}
}
W założeniach mam podane, że rozmiar zadania wynosi n i operacja elementarna to porównania między elementami tablicy A.
Dla powyższego algorytmu muszę określić:
- przypadek pesymistyczny
- funkcję kosztu pesymistycznego
- rząd tej funkcji
Bardzo proszę o wytłumaczenie mi jak postępować w przypadku takich algorytmów.
Dziękuje i pozdrawiam serdecznie,
Jurek