Obliczanie złożoności algorytmów
Do przygotowania
Znajomość i rozumienie pojęć:
Złożoność obliczeniowa.
Złożoność pamięciowa.
Złożoność pesymistyczna.
Złożoność oczekiwana.
Złożoność optymistyczna.
Przykłady
Metoda podstawiania
Jak sobie radzimy z rekurencją? Podstawiamy .
Wtedy mamy:
Kolejny przykład metody podstawiania:
oraz
W obu powyższych przykładach robimy to samo podstawienie i możemy zaobserwować że złożoność jest liniowa. Wyprowadzenie:
Teraz dla przypadku kiedy
:
oraz dla przypadku kiedy
:
Jeszcze jeden przykład:
Rozwiązanie powyższego przykładu jest następujące:
Wstawiamy
, czyli
następnie wykonujemy kolejne podstawienie:
i w ten sposób otrzymujemy:
co jest równe:
Powracając i wstawiając do wcześniejszego wzoru otrzymujemy:
i ostatecznie wstawiając
dostajemy:
co daje złożoność:
Metoda rekurencji uniwersalnej
Umożliwia szybkie wyznaczanie rozwiązania równania rekurencyjnego postaci:
gdzie:
Teraz może prosty przykład:
Mamy równanie:
Rozwiązanie:
Drugi przykład:
Mamy równanie:
Rozwiązanie:
Trzeci przykład:
Mamy równanie:
Rozwiązanie: