Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Rzędy wielkości funkcji 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.

Podobne prezentacje


Prezentacja na temat: "Rzędy wielkości funkcji 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."— Zapis prezentacji:

1 Rzędy wielkości funkcji 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. Dla wszystkich n n 0 funkcja f(n) jest równa g(n) z dokładnością do stałego współczynnika; g(n) jest asymptotycznie dokładnym oszacowaniem dla f(n). Niech f(n) = c 1 = 1/14, c 2 = 1/2, n 0 = 7 f(n) = (n 2 ) Dla każdego wielomianu mamy

2 Rzędy wielkości funkcji 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. To oszacowanie nie musi być dokładnym; na przykład, n = O(n 2 ). Ale też n = O(n). Notacja (g(n)) = {f(n): istnieją stałe c i n 0 takie, że 0 cg(n) f(n) dla wszystkich n n 0 }. Asymptotyczne ogranicza funkcję od dołu. Dla każdych dwóch funkcji f(n) i g(n) zachodzi zależność f(n) = (g(n)) wtedy i tylko wtedy, gdy f(n) = O(g(n)) i f(n) = (g(n)).

3 Quicksort - sortowanie szybkie Algorytm sortowania szybkiego jest oparty na technice dziel i zwyciężaj. Dziel: Tablica A[p…r] jest dzielona na dwie niepuste podtablice A[p…q] i A[q+1…r] takie, że każdy element A[p…q] jest nie większy niż każdy element A[q+1…r]. Zwyciężaj: Dwie podtablice A[p…q] i A[q+1…r] są sortowane za pomocą rekurencyjnych wywołań algorytmu Quicksort. Quicksort(A, p, r) 1if p < r 2then q := Partition(A, p, r) 3Quicksort(A, p, q) 4Quicksort(A, q+1, r)

4 Dzielenie tablicy Partition(A, p, r) 1x := A[p] 2i := p - 1 3j := r + 1 4while True 5do repeat j := j - 1 6until A[j] x 7 repeat i := i + 1 8until A[i] x 9 if i < j 10then zamień A[i] A[j] 11else return j ij ij ij ij ij

5 Czas działania Quicksort Najgorszy przypadek podziałów: (n 2 ) Najlepszy przypadek podziałów: (n lg n) Czas działania w średnim przypadku zbliżony jest do najlepszego: (nlgn) n n-11 n n n n n (n 2 ) Najgorszy przypadek lg n n n/2 n/ n n nn n (n lg n) Najlepszy przypadek

6 Probabilistyczna wersja Randomized-Partition(A, p, r) 1i := Random(p, r) 2zamień A[p] A[i] 3return Partition(A, p, r) Randomized-Quicksort(A, p, r) 1if p < r 2then q := Randomized-Partition(A, p, r) 3Randomized-Quicksort(A, p, q) 3Randomized-Quicksort(A, q+1, r)


Pobierz ppt "Rzędy wielkości funkcji 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."

Podobne prezentacje


Reklamy Google