Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Złożoność obliczeniowa algorytmów Literatura podstawowa Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Wprowadzenie do algorytmów. WNT, Warszawa,

Podobne prezentacje


Prezentacja na temat: "Złożoność obliczeniowa algorytmów Literatura podstawowa Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Wprowadzenie do algorytmów. WNT, Warszawa,"— Zapis prezentacji:

1 Złożoność obliczeniowa algorytmów Literatura podstawowa Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Wprowadzenie do algorytmów. WNT, Warszawa, Edward M. Reingold, Jurg Nievergelt, Narsing Deo. Algorytmy kombinatoryczne. PWN, Warszawa, Lech Banachowski, Antomi Kreczmar. Elementy analizy algorytmów. WNT, Warszawa, Lech Banachowski, Antomi Kreczmar, Wojciech Rytter. Analiza algorytmów i struktur danych. WNT, Warszawa, 1989.

2 Algorytmy Algorytm - ściśle określona procedura obliczeniowa, która dla właściwych danych wejściowych produkuje żądane dane wyjściowe (wynik działania algorytmu). Rozmiar danych wejściowych - liczba elementów w ciągu wejściowym czy całkowita liczba bitów potrzebnych do reprezentowania tych danych. Czas działania algorytmu - liczba wykonanych prostych operacji.

3 Problemy rozwiązywalne w czasie wielomianowym - O(n k ) rozwiązywalne, ale nie w czasie wielomianowym (np., w czasie wykładniczym - O(k n )) nierozwiązywalne NP-zupełne (status nieznany; rozwiązywalne, ale nie wiadomo, czy w czasie wielomianowym)

4 Problemy Nierozwiązywalne: na przykład, problem stopu - Dla danego algorytmu A odpowiedzieć, czy kończy pracę dla dowolnych danych wejściowych. Łatwo rozwiązywalne: rozwiązywalne w czasie wielomianowym. Trudno rozwiązywalne: nie jest znany (czy nie istnieje) algorytm rozwiązujący problem w czasie wielomianowym

5 Czas działania algorytmów n0n0 n (rozmiar danych wejściowych) t (czas działania) t1(n)t1(n) t2(n)t2(n) t3(n)t3(n)

6 Przykład algorytmu Algorytm sortowania Insertion-Sort(A) 1. for j:=2 to length[A] 2. do key:=A[j] /* Wstaw A[i] w posortowany ciąg A[1..j-1].*/ 3.i:= j-1 4.while i>0 i A[i] > key 5.do A[i+1] := A[i] 6. i:= i-1 7. A[i+1] := key Przykład działania algorytmu

7 Przykład analizy algorytmu Insertion-Sort(A) kosztliczba wykonań 1. for j:=2 to length[A] c 1 n 2. do key:=A[i] c 2 n-1 3.i:= j-1 c 3 n-1 4.while i>0 i A[i] > key c 4 5.do A[i+1] := A[i] c 5 6. i:= i-1 c 6 7. A[i+1] := key c 7 n-1

8 Przykład analizy algorytmu

9 Czas działania algorytmów Notacja  :  (g(n)) = {f(n): istnieją stałe c 1, c 2 i n 0 takie, że 0  c 1 g(n)  f(n)  c 2 g(n) dla wszystkich n  n 0 }. Asymptotyczne ogranicza funkcję od góry oraz od dołu. Notacja O: O(g(n)) = {f(n): istnieją stałe c i n 0 takie, że 0  f(n)  cg(n) dla wszystkich n  n 0 }. Asymptotyczne ogranicza funkcję od góry. n0n0 n c2g(n)c2g(n) f(n)f(n) c1g(n)c1g(n) f(n)=  (g(n)) n0n0 n cg(n) f(n)f(n) f(n)=O(g(n))


Pobierz ppt "Złożoność obliczeniowa algorytmów Literatura podstawowa Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. Wprowadzenie do algorytmów. WNT, Warszawa,"

Podobne prezentacje


Reklamy Google