Analiza Algorytmów Moduł 3 Rekurencje

Wielkość: px
Rozpocząć pokaz od strony:

Download "Analiza Algorytmów Moduł 3 Rekurencje"

Transkrypt

1 Analiza Algorytmów Moduł 3 Rekurencje Aleksandra Orpel Spis treści 1 Rekurencja - rozwiazania dokładne Rekurencje pierwszego rzędu Rekurencje liniowe wyższych rzędów Rekurencje - oszacowania asymptotyczne 5 3 Algorytmy typu dziel i zwyciężaj 10 4 Sortowanie przez scalanie 12 5 Bibliografia 18 1

2 1 Rekurencja - rozwiazania dokładne 1.1 Rekurencje pierwszego rzędu Twierdzenie 1. Niech fx n g n2n rekurencji jest nastepuj ac a R. Jawna postać ci agu danego za pomoca a 0 =1 a n = x n a n 1 dla n > 0 a n = Y 1 k n (1) x k dla n > 0. (2) Przykład 1. Podstawiaj ac x n = n, wzór (1) daje a n = n!, natomiast dla x n =2z (1) dostajemy a n =2 n. Twierdzenie 2. Ciag dany za pomoc a rekurencji a 0 =0 a n = y n + a n 1 dla n > 0, gdzie fy n g n2n R, ma nastepuj ac ajawn apostać a n = y k dla n > 0. 1 k n (3) Twierdzenie 3. Niech fx n g n2n i fy n g n2n bedaci agmi liczb rzeczywistych i x n 6=0dla dowolnego n>0. Rozwi azaniem równania rekurencyjnego a 0 =0 (4) a n = y n + x n a n 1 dla n > 0 jest ciag postaci a n = y n + y j x j+1 x j+2... x n (5) dla n>0. 1 j n 1 Dowód. Podzielmy obie strony równości (4) przez iloczyn x 1 x 2...x n 1 x n. Mamy wówczas dla każdego n>0 a n y n a n 1 = +. (6) x 1 x 2... x n 1 x n x 1 x 2... x n 1 x n x 1 x 2... x n 1 Połóżmy b 0 =0 a b n = n x 1 x 2 ::: x n 1 x n dla n > 0 2

3 i y n z n = dla dowolnego n 2 N. x 1 x 2... x n 1 x n Równość (6)można zapisać wpostaci b n = z n + b n 1 dla n>0. Korzystajac z twierdzenia 2 mamy b n = z k = y k. x 1 x 2... x k 1 x k Stad 1 k n 1 k n a n = x 1 x 2... x n 1 x n 1 k n = x 1 x 2... x n 1 x n y k x 1 x 2... x k 1 x k 1 k n y k x 1 x 2...x k 1 x k y n + y k x k+1 x k+2... x n 1 x n. 1 k n 1.2 Rekurencje liniowe wyższych rzędów Twierdzenie 4. (O rozwiazaniach rekurencji liniowych, jednorodnych ze stałymi współczynnikami) Ogół rozwiazań rekurencji postaci a n = x 1 a n 1 + x 2 a n x t a n t dla n t (7) ( x t 6=0)jestdanyjakoliniowakombinacja(owspółczynnikach zależnych od warunków poczatkowych a 0,a 1,..., a t ) wyrażeń n j β n, 0 j<v, gdzie - β jest pierwiastkiem nastepuj acego wielomianu q(z) =z t x 1 z t 1 x 2 z t 2... x t (8) - v jest krotnościa pierwiastka β. Wielomian q nazywamy wielomianem charakterystycznym równania rekurencyjnego (7), natomiast ciagi n j β nª n2n, gdzie 0 j<v, jego rozwiazaniami szczególnymi. (Oczywiście β może być pierwiastkiem zespolonym). 3

4 Uwaga: Rozwiazanie jawne rekurencji (7) jest zdeterminowane przez warunki poczatkowe, z których wyznaczamy współczynniki liniowej kombinacji opisujacej ogół rozwiazań. W pewnych przypadkach właśnie od wartości poczatkowych zależy rodzaj otrzymanego rozwiazania. Majac tę sam azależność rekurencyjna izmieniaj ac tylko warunki poczatkowe możemy zmienić charakter rozwiazania, uzyskujac ciag stały, wykładniczy lub naprzemienny. Dzieje się tak na przykład wtedy, gdy niektóre współczynniki znikaja lub gdy pierwiastki wielomianu charaktery maja tesamemoduły. Jak duży wpływ na ostatecznapostaćci agu fa n g n2n maja wartości poczatkowe a 0,..., a t 1 pokazuje przykład opisany w punkcie (d) Zadania 2. Rozważymy teraz rekursję, która uzyskujemy z (7) dodajac do prawej strony wzoru ciag fb n g n2n. Otrzymana w ten sposób rekurencja nazywa się niejednorodna. Wyznaczajac jej rozwiazanie będziemy wykorzystywać twierdzenie 4. Istotnym problemem, który pojawia się wówczas, jest znalezienie rozwiazania szczególnego rekurencji niejednorodnej. W przypadku, gdy fb n g n2n jest ciagiem stałym, można podać proste procedury pozwalajace wyznaczyć takie rozwiazanie. Twierdzenie 5. (O istnieniu rozwiazania równania niejednorodnego) Ogół rozwiazań rekurencji postaci a n = x 1 a n 1 + x 2 a n x t a n t + b dla n t (9) jest sumaogółurozwi azań równania (7) oraz rozwi azania szczególnego równania (9). Twierdzenie 6. (O postaci rozwiazania szczególnego rekurencji niejednorodnej) 1. Jeżeli P i=1;:::;t x i 6= 1to rozwiazaniem szczególnym jest ciag stały fx n g n2n o wyrazach x n = c, gdzie c = b 1 P i=1;:::;t x. i 2. Jeżeli P i=1;:::;t x i =1i P i=1;:::;t ix i 6= 0to rozwiazaniem szczególnym jest ciag fcng n2n, gdzie b c = P i=1;:::;t ix. i 3. Ogólnie: rozwiazaniem szczególnym rekursji niejednorodnej (9) jest ciag fcn m g n2n, gdzie m jest pewnaliczb anaturaln amniejsz aodt. (Stała c wyznaczamy podstawiajac wyrazy ciagu do równania (9) 4

5 2 Rekurencje - oszacowania asymptotyczne Przedstawimy trzy metody wyznaczania rozwiazań asymptotycznych rekurencji: metodę podstawiania, iteracyjna oraz metodę opartanatwierdzeniu o rekurencji uniwersalnej. 1. Metoda podstawiania - polega na odgadnięciu oszacowania, a następnie wykazaniu, że jest ono trafne. 2. Metoda iteracyjna - gdzie przekształcamy rekurencję w sumę, a następnie korzystamy z różnych technik szacowania sum. (Obie metody omówimy na przykładach - ćwiczenia do Modułu 3) 3. Metoda rekurencji uniwersalnej - stosowana jest dla rekursji postaci T (n) =at (n/b)+f(n) (10) gdzie a 1, b>1, fjest pewna funkcjanieujemn aokreślona na podzbiorze liczb naturalnych. Rekurencja (10) opisuje czas działania algorytmu, który dzieli problem rozmiaru n na a podproblemów o rozmiarze n/b. Każdy z a podproblemów jest rozwiazywany rekurencyjnie w czasie T (n/b). Koszt dzielenia problemu oraz łaczenia rezultatów częściowych jest opisany funkcja f. Twierdzenie 6. (Twierdzenie o rekurencji uniwersalnej). Zał óżmy, że a 1 i b>1 sastałymi, f jest funkcjaokreślon a na zbiorze liczb naturalnych, a T bedzie ciagiem zdefiniowanym dla liczb całkowitych n 0 wzorem (10), gdzie n/b oznacza bn/bc lub dn/be. Wówczas T (n) może być ograniczony asymptotycznie w nastepuj acy sposób: 1. jeżeli istnieje ε>0 takie, że f(n) =O(n log b a " ), to T (n) =Θ(n log b a ); 2. jeżeli f(n) =Θ(n log b a ), to T (n) =Θ(n log b a lg n); 3. jeżeli istnieje ε>0takie, że f(n) =Ω(n log b a+" ) ijeśli dodatkowo istnieje stała 0 <c<1 taka, że dla dostatecznie dużych n 2 N ( n b) zachodzi nastepuj acy warunek (zwany warunkiem regularności) to T (n) =Θ(f(n)). af(n/b) cf(n), Dowód: Pierwsza część dowoduzawiera analizę zależności rekurencyjnej przy założeniu, że n jest potęga liczby b > 1, gdzie b niekoniecznie jest liczba całkowita. Dowód ten przeprowadzimy w trzech etapach, w których zakładamy, 5

6 że a 1, b>1 i f jest pewna funkcjanieujemn azdefiniowanadladokładnych potęg b oraz Θ(1) dla n =1 T (n) = at (n/b)+f(n) dla n = b i (11), gdzie i 1. Etap 1. Wykażemy, że T (n) =Θ(n log b a )+ log b n 1 a j f(n/b j ). (12) W tym celu przekształcimy rekurencję wsumęzapomoca odpowiedniej liczby (równej log b n) iteracji wzoru (11): T (n) =f(n)+at (n/b) =f(n)+af(n/b)+a 2 T (n/b 2 )= f(n)+af(n/b)+a 2 f(n)+a 3 f(n/b 3 ) a log b n 1 f(n/b log b n 1 )+a log b n T (1). Biorac pod uwagę równości a log b n = n log b a oraz T (1) = Θ(1) iwłasności notacji Θ, otrzymujemy a log b n T (1) = Θ n log b a. Ostatecznie uzyskujemy zależność (12). Etap 2. Rozważmy funkcję g: n 2 N,istnieje j 2 N takie, że n = b jª! R zdefiniowananastępuj aco: g(n) = log b n 1 a j f(n/b j ). (13) Pokażemy, że może ona być ograniczona asymptotycznie dla dokładnych potęg b w jeden z poniższych sposobów: A-jeżeli f(n) =O(n log b a " ) dla pewnej stałej ε>0, to g(n) =O(n log b a ); B-jeżeli f(n) =Θ(n log b a ), to g(n) =Θ(n log b a lg n); C -jeżeli af(n/b) cf(n) dla pewnej stałej c<1iwszystkichn b, to g(n) =Θ(f(n)). Istotnie; w³ przypadku A zzałożenia dotyczacego funkcji f wnioskujemy, iż f( n b )=O n logb j b a ", co,wobecdefinicji g, daje j à logb! n 1 ³ n g(n) =O a j logb a ". (14) b j Jednocześnie prawdziwy jest ciag równości log b n 1 ³ log a j n logb a " b n 1 µ = n log b a " ab " b j 6 b log b a j = n log b a " log b n 1 (b " ) j

7 µ µ = n log b a " 1 b " log b n = n log 1 b " b a " n " 1. b " 1 Z uwagi na fakt, iż b i ε sastałymi, ostatnie wyrażenie redukuje siędon log b a " O (n " ). Ostatecznie uzyskujemy żadan a równość: W przypadku B mamy f( n b j )=Θ ³ n b j logb a, zatem g(n) =Θ g(n) =O(n log b a ). (15) Ã logb n 1 Postępujac jak poprzednio, uzyskujemy log b n 1 a j ³ n b j log b a = n log b a log b n 1 a j ³ n b j log b a! ³ log a j b n 1 b log b a = n log b a. 1=n log b a log b n idalej g(n) =Θ n log b a log b n = Θ n log b a lg n. W przypadku C należy najpierw zauważyć, że definicja funkcji g implikuje oszacowanie g(n) =Ω(f(n)) dla dokładnych potęg b. Jednocześnie założony warunek regularności implikuje, iż dlakażdego j =0, 1,..., log b n zachodzi a j f(n/b j ) c j f(n). (16) (Indukcyjny dowód tego faktu pozostawiamy jako ćwiczenie). Korzystajac z (16), możemy oszacować z góry g(n) wnastępujacy sposób g(n) log b n 1 ³ n a j f b j log b n 1 c j f (n) f(n) 1 c j = f(n) 1 c = O(f(n)). Etap 3. Biorac pod uwagę zależność (15), obliczamy sumę (12) dla pierwszego przypadku twierdzenia: W przypadku 2. otrzymujemy T (n) =Θ(n log b a )+O(n log b a )=Θ(n log b a ). T (n) =Θ(n log b a )+Θ(n log b a lg n) =Θ(n log b a lg n). W ostatnim przypadku mamy T (n) =Θ(n log b a )+Θ(f(n)), 7

8 co wobec założenia f(n) =Ω(n log b a+" ) przy pewnym ε>0, pozwala orzec, iż T (n) =Θ(f(n)). To kończy dowód dla dokładnych potęg b. Druga część dowodu,będzie rozszerzeniem powyższej analizy na przypadek dowolnych liczb naturalnych. W tej sytuacji w rekurencji pojawiasię funkcje sufitu lub podłogi. Zauważmy, że otrzymanie dolnego oszacowania dla T (n) =at (dn/be)+f(n) (17) lub górnego dla T (n) =at (bn/bc)+f(n) (18) wynika bezpośrednio z własności funkcji podłogiisufitu ( n b n b n b ). Na istotne trudności napotykamy dopiero wtedy, gdy próbujemy uzyskać górne oszacowanie dla (17) i dolne dla (18). Omówimy jedynie pierwszy z problemów, ponieważ analiza drugiego z nich jest analogiczna. Główna idea dowodu jest oczywiście taka sama, jak dla dokładnych potęg b, ztaróżnic a, że pojawiaja się nieco bardziej pracochłonne rachunki. Przedstawimy zatem tylko kluczowe elementy dowodu. Etap 1. Zauważmy, że iterujac rekurencję (17) uzyskujemy ciag rekurencyjnych wywołań dla argumentów n, dn/be, ddn/be /be, dddn/be /be /be,... itd. Dla wygody oznaczmy i. element tego ciagu przez przez n i, gdzie n gdy i =0 n i = dn i 1 /be gdy i > 0. Zpowyższej definicji i własności funkcji sufitu (dxe < x +1) uzyskujemy oszacowanie n i n b + i 1 1 i b n j b + b (19) i b 1 dla dowolnego i>0. Podobnie jak w etapie 1. pierwszej części dowodu przekształcamy rekurencję wsumę, wielokrotnie stosujac wzór (17), przy czym kończymy iterację dlai 0 = blog b nc. (Wówczas n i0 b + b b 1.) Stad mamy T (n) =f(n 0 )+at (n 1 )=f(n 0 )+af(n 1 )+a 2 T (n 2 ) (20) f(n 0 )+af(n 1 )+a 2 f(n 2 ) a blog b nc 1 f(n blogb nc 1)+a blog b nc T (n blogb nc) = Θ(n log b a )+ blog b nc 1 a j f(n j ). W ten sposób otrzymujemy dla dowolnych liczb naturalnych n zależność podobna do (12). 8

9 Etap 2. Możemy teraz oszacować sumę g(n) = blog b nc 1 a j f(n j ) wkażdym z trzech omawianych w twierdzeniu przypadków, w zależności od warunków nałożonych na f. Rozważmy przypadek pierwszy, gdy dla pewnej liczby ε>0 f(n) =O(n log b a " ). Wówczas dla każdego 0 j blog b nc istnieje stała c > 0 taka, że dla dostatecznie dużych n zachodzi µ n c b + b j b 1 ³ µ µ n logb a " b j b = c 1+ b j n b 1 logb a " b c b 1 f(n j ) cn log b a " j logb a " logb a " (21) µ µ µ µ n log b a " b j = c b logb a " n log b a " a j b "j n b 1 a j b, "j (przy czym druga nierówność wynika z (19), natomiast ostatnie przejście jest konsekwencja nierówności j blog b nc). Oznacza to f(n j )=O( nlog b a " ). a j b "j Podobnie postępujemy, gdy f(n) =Θ(n log b a ) (przypadek drugi twierdzenia). Wykonujac oszacowania analogiczne do (21) (pomijamy ε i wykorzystujemy własności notacji Θ), pokazujemy, że f(n j )=O( nlog b a ). a j W przypadku trzecim należy zauważyć, że z warunku regularności: af(dn/be) cf(n) dla n>b+ b/(b 1) przy stałej 0 <c<1, wynika a j f(n j ) c j f(n) dla j =0, 1,..., blog b nc, co wykazujemy tak, jak w pierwszej części dowodu. Wykorzystujac powyższe wyniki możemy sumę g(n) odpowiednio oszacować i wyznaczyć rozwiazanie T jak dla dokładnych potęg b. Uwaga: Istotne jest, że w każdym z trzech przypadków porównujemy funkcję f z funkcja testujac a n 7! n log b a. Intuicyjnie na podstawie tezy twierdzenia możemy powiedzieć, że rozwiazanie zależy od większej z nich. W pierwszym przypadku funkcja f nie tylko musi być mniejsza od funkcji testujacej, ale musi być odniejwielomianowo mniejsza, tj. musi istnieć taka liczba ε>0, że f jest mniejsza od funkcji testujacej o czynnik n ". W trzecim przypadku funkcja f nie tylko musi być większa od funkcji testujacej, ale musi być odniej 9

10 wielomianowo większa oraz spełniać dodatkowy warunek regularności, który zachodzi dla większości wielomianowo ograniczonych funkcji. Uwaga: Warto zauważyć, że warunek regularności implikuje istnienie liczby ε > 0 takiej, że f(n) = Ω n log b a+" Mimo to w sformułowaniu trzeciego przypadku twierdzenia o rekurencji uniwersalnej występuje powyższa równość, gdyż upraszcza ona wstępna klasyfikację badanej rekurencji (patrz poprzednia uwaga). Uwaga: Trzy przypadki opisane w twierdzeniu o rekurencji uniwersalnej nie wyczerpuja wszystkich możliwych relacji między f a funkcja testujac a. Jest luka między przypadkiem 1 i 2, kiedy to f jest mniejsza od funkcji testujacej, ale nie jest mniejsza wielomianowo. Podobnie dla przypadków 2 i 3, istnieja rekurencje typu (10), w których funkcja f jest większa od n 7! n log b a, ale nie wielomianowo. Wobec tego, gdy f wpada w jednaztychlukniemożemy stosować twierdzenia o rekurencji uniwersalnej. Wówczas pozostajanammetody iteracyjna i podstawiania. Możemy także starać się oszacować rekurencję zgóry lub z dołu w ten sposób, aby otrzymać rekurencję, która można już rozwiazaćza pomoca jednego z przypadków twierdzenia 6. Należy jednak pamiętać, że wtedy otrzymujemy górne lub dolne oszaconie rozwiazania wyjściowej rekurencji. Przykład 2. Pokażemy, że dla rekurencji T (n) =2T (n/2) + n log 2 n nie można zastosować powyższego twierdzenia. Istotnie; kładac a = b =2mamy następujac a funkcję testuj aca n 7! n log b a = n. Jednocześnie f(n) =n log 2 n. Ponieważ f jest asymptotycznie większa od funkcji n 7! n log b a, więc może się wydawać, że stosować będziemy przypadek 3. Przypuśćmy zatem, że istnieje ε>0 takie, że f(n) =Ω(n 1+" ), co oznacza istnienie liczby A>0 spełniajacej relację f(n) n 1+" dla dostatecznie dużych n 2 N idalej log 2 n n " dla dostatecznie dużych n 2 N. To jednak przeczy równości lim Zatem przykład ten wpada w lukę między przypadkami 2 i 3. n!1 log 2 n n " =0. twierdzenie 2. Przyjmujac oznaczenia twierdzenia 6, można wykazać, że z warunku regularności wynika istnienie ε>0, dla którego zachodzi oszacowanie f(n) =Ω(n log b a+" ). 3 Algorytmy typu dziel i zwyciężaj Metoda dziel i zwyciężaj" polega na podziale problemu na kilka mniejszych podproblemów (tj. podproblemów o mniejszych rozmiarach danych wejściowych) 10

11 podobnych do pierwotnego. Podproblemy te sa rozwiazywane rekurencyjnie, a następnie ich rozwiazania sa łaczone w celu uzyskania rozwiazania wyjściowego problemu. W podejściu dziel i zwyciężaj każdy poziom rekursji składa się z następujacych etapów: Dziel: Dzielimy problem na podproblemy. Zwyciężaj: Rozwiazujemy podproblemy rekurencyjnie, chyba, że saonetak małego rozmiaru, że nie wymagaja zastosowania rekursji - używamy wtedy metod bezpośrednich. Połacz: Łaczymy rozwiazania podproblemów, aby otrzymać rozwiazanie problemu wyjściowego. Wobec powyższego analiza czasu działania algorytmów opartych na metodzie dziel i zwyciężaj polega na ocenie złożoności czasowej wszystkich trzech etapów. Rozważymy teraz pewien szczególny rodzaj tego typu algorytmów. Niech T (n) oznacza czas działania algorytmu dla problemu o rozmiarze n. Jeśli rozmiar problemu jest wystarczajaco mały n c dla pewnej stałej c, to jego rozwiazanie zajmuje czas stały Θ(1). Załóżmy, że dzielimy problem wyjściowy na a (a 1) podproblemów, każdy o rozmiarze n/b (dokładniej n b lub n b ), gdzie b>1, a,b2 Z. Niech dalej D(n) jest czasem dzielenia problemów na podproblemy, zaś C(n) czasem scalania ich rozwiazań wpełne rozwiazanie oryginalnego problemu. Wówczas czas działania takiego algorytmu dany jest następujac a rekurencja: T (n) = Θ(1) gdy n c at ( n b )+f(n) gdy n > c, (22) dla f(n) = C(n) +D(n). Jak pamiętamy twierdzenie 1 (wykład 4) podaje metodę rozwiazania tego typu rekurencji. Przeanalizujmy drzewo rekursji (22), aby pokazać, jakich algorytmów dotycza poszczególne przypadki opisane w twierdzeniu o rekurencji uniwersalnej. 11

12 Zauważmy, że funkcja n! n log b a informuje o liczbie podproblemów o najmniejszym rozmiarze, a zatem, wobec przyjętych założeń, algorytm potrzebuje n log b a Θ(1) jednostek czasu, aby rozwiazać wszystkietepodproblemy.funkcja f reprezentuje czas podziału problemu na podproblemy i łaczenie ich rozwiazań w rozwiazanie problemu wyjściowego. Stad przypadek pierwszy twierdzenia o rekurencji uniwersalnej (f(n) = O(n log b a " ), dla pewnego ε > 0) obejmuje algorytmy, w których koszt rozwiazania podproblemów o rozmiarach n<c,jest wielomianowo większy niż połaczone koszty etapów I-Dzieli III - Połacz algotytmu. Odwrotna sytuację opisuje punkt 3. twierdzenia, tam funkcja f jest co najmniej rzędu niż n log b a+", przy pewnym ε>0. Jeśli zaś koszt wszystkich etapów jest tego samego rzędu (rozkłada się on równomiernie po wszytkich poziomach drzewa rekursji), to złożoność czasowa algorytmu jest opisana przez przypadek 2. twierdzenia o rekurencji uniwersalnej. 4 Sortowanie przez scalanie Algorytm sortowania przez scalanie (łaczenie) jest przykładem zastosowania metody "dziel i zwyciężaj", wobec tego jego działanie można opisać zapomoca schematu charakterystycznego dla tego podejścia: Dziel Dzielimy n -elementowyci ag na dwa podciagi o rozmiarach, odpowiednio bn/2c i dn/2e każdy. Zwyciężaj Sortujemy otrzymane podciagi, używajac rekurencyjnie sortowania 12

13 przez scalanie. Połacz Łaczymy posortowane podciagi w jeden posortowany ciag. (Mechanizm rekursji nie uruchamia się, gdy ciag przeznaczony do sortowania ma długość 1.) Zapiszemy teraz badany algorytm nieco dokładniej, wykorzystujac przyjęty pseudojęzyk Mergesort(l, r : naturalne) Dane wejściowe: ciag elementów a =[a[l],..., a[r]], której bedziemy sortować; Dane wyjściowe: ciag [a[i 1 ],..., a[i r l+1 ]], bed acy permutacjaci agu a, spełniajac a warunek a[i 1 ] a[i 2 ]... a[i r l+1 ]; var i,j,k,m: naturalne begin if r l>0 then begin m := (r + l)div2; Mergesort(l, m); Mergesort(m +1,r); for i := 1 to m l +1do b[i] :=a[l + i 1]; for j:=m+1 to r do c[j-m]:=a[j]; i:=1;j:=1; b[m+1]:=max; c[r-m+1]:=max; 13

14 end; end. for k:=l to r do if b[i]<c[j] then begin a[k]:=b[i]; i:=i+1;end; else begin a[k]:=c[j]; j:=j+1; end; Chcac posortować cała tablicę a = [a[1],..., a[n]], wywołujemy Mergesort dla l =1ir = n. Wpowyższym zapisie występuje zmienna max, która jest największa z liczb w ustalonej reprezentacji liczb całkowitych. Wprowadzenie jej pozwoliło uniknać testu końca tablic b i c. Analizę powyższego algorytmu rozpoczniemy od wyznaczenia rzędu złożoności czasowej. Twierdzenie 7. Procedura Mergesort dla ciagu n - elementowego działa w czasie Θ(n lg n). Dowód: Niech T (n) oznacza czas potrzebny do posortowania n -elementowego ciagu. Zgodnie ze schematem "dziel i zwyciężaj" musimy zbadać, ile czasu potrzebanarealizację poszczególnych etapów: Dziel: Wyznaczenie środka przedziału - punktu podziału n+1 2 -zajmuje czas stały D(n) =Θ(1). Zwyciężaj: Rozwiazujemy rekurencyjnie dwa problemy każdy rozmiaru n/2 ( bn/2c lub dn/2e),co zajmuje czas 2T (n/2). Połacz: Procedura łaczenia działa w czasie C(n) =Θ(n) -trzypętle wykonuj ace co najwyżej n przebiegów każda. Przyjmujac, że sortowanie tablicy jednoelementowej odbywa się w czasie stałym Θ(1), uzyskujemy następujac a zależność rekurencyjna określajac a złożoność czasowa algorytmu Mergesort Θ(1) gdy n =1 T (n) = 2T ( n 2 )+C(n)+D(n) gdy n > 1 idalej T (n) = Θ(1) gdy n =1 2T ( n 2 )+Θ(n) gdy n > 1. 14

15 Kładac a =2, b =2if(n) =D(n) +C(n) =Θ(n) i korzystajac z punktu drugiego twierdzenia o rekurencji uniwersalnej mamy T (n) =Θ(n lg 2 lg n) =Θ(n lg n). Stwierdziliśmy już, że złożoność czasowa Mergesort jest rzędu liniowo-logarytmicznego. Nie zadowolimy się jeszcze ta informacja, gdyżniewiemy, jakiwspółczynnik kryje sięwnotacjiθ,może to być 2,3,4 wówczas otrzymany wynik odzwieciedla zachowanie algorytmu dla większości n. Jednak powyższa analiza nie pozwala nam wykluczyć przypadku, gdy współczynnik jest równy 10 20, 10 30, itd. Wtedy możemy powiedzieć, że czas działania jest liniowo-logarytmiczny tylko dla danych wejściowych o gigantycznych rozmiarach. Aby zbadać, jak jest w rzeczywistości, zajmijmy się ocena dokładnej liczby operacji dominujacych - porównań elementów ciagu sortowanego - wykonywanych przez Mergesort. Twierdzenie 8. Aby posortować n -elementow a tablicęzapomoc a sortowania przez scalanie należy wykonać n logn + O(n) porównań. Dowód: Dla uproszczenia tego dowodu zajmiemy się tylko tymi liczbami naturalnymi, które sa potęgami liczby 2. Niech C(n) oznacza liczbę porównań wykonywanych przez Mergesort przy sortowaniu n - elementowej tablicy. Wówczas liczba porównań wykonywanych w rekurencyjnych wywołaniach procedury po pierwszym podziale - sortowanie tablic dn/2e i bn/2c elemetowej - jest równa, odpowiednio C(dn/2e) oraz C(bn/2c). Liczba porównań wykonywanych w celu scalenia wynosi n - jedno dla każdej wartości k =1,..., n. Zatem całkowita liczba operacji dominujacych dana jest za pomoca rekurencji C(dn/2e)+C(bn/2c)+n dla n 2 C(n) = (23) 0 dla n =1. Ponieważ roważamy jedynie liczby naturalne n postaci n =2 k, dla pewnego k 2 N, rekurencję (23) możemy zapisać wnastępujacej formie 2C(2 C(2 k )= k 1 )+2 k dla k 1 0 dla k =0. Dzielac obie strony przez 2 k dostajemy C(2 k ) = C(2k 1 ) k 2 k 1 Iterujac k-krotnie powyższy wzór mamy C(2 k ) = C(2k 1 ) +1= C(2k 2 ) +2= C(2k 3 ) +3=... = C(20 ) + k = k, 2 k 2 k 1 2 k 2 2 k

16 co oznacza, że dla n =2 k rozwiazanie powyższej rekurencji jest C(n) =n log 2 n. W przypadku, gdy n jest dowolna liczba naturalna rozwiazanie rekurencji (23) wymaga pewnych dodatkowych obliczeń wykorzystujacych następujacy wzór sumacyjny: Lemat 9. Niech n 2 N. Dla dowolnej liczby naturalnej b 2 zachodzi blog b kc =(n +1)blog b nc bblog b nc+1 b. b 1 1 k n Twierdzenie 10. Dla dowolnego n 2 N liczba porównań wykonywanych przez Mergesort w celu posortowania n elementowej tablicy opisana jest rekurencja (23), której dokładne rozwiazanie ma postać C(n) =n blg nc +2n 2 blg nc+1. (24) Dowód: Wobec analizy przedstawionej w dowodzie twierdzenia 6. wystarczy jedynie wyznaczyć dokładne rozwiazanie rekurencji (23) dla dowolnych n 2 N. Rozważmy pomocniczo ciag 2 dla n =1 D(n) = C(n +1) C(n) dla n 2. Zauważmy, że D(bn/2c)+1 dla n 2 D(n) = 2 dla n =1. Istotnie, dla n parzystych mamy D(n) =C(d(n +1)/2e)+C(b(n +1)/2c)+n +1 C(dn/2e) C(bn/2c) n = C(n/2+1)+C(n/2) + n +1 C(n/2) C(n/2) n C(n/2+1) C(n/2) + 1 = D(bn/2c)+1. Podobnie postępujemy dla n nieparzystych D(n) =C(d(n +1)/2e)+C(b(n +1)/2c)+n +1 C(dn/2e) C(bn/2c) n (25) = C((n +1)/2) + C((n +1)/2) + n +1 C((n +1)/2) C((n 1)/2) n C((n 1)/2+1) C((n 1)/2) + 1 = D(bn/2c)+1. Zaten dla dowolnego n 2 zachodzi wzór (25). Wyznaczymy teraz jawnapostać ciagu D : D(n) =D(bn/2c)+1=D(bbn/2c /2c)

17 = D( n/2 2 j )+2=... = D( n/2 blg nck )+blg nc = blg nc +2. Stad C(n +1)=C(n)+blg nc +2 dla dowolnych n 1. Iteracja powyższego wzoru (odpowiednie twierdzenie 2 z wykładu o rozwiazaniach dokładnych rekurencji) pozwalajastwierdzić, że n C(n +1)= (blg kc +2) idalej,dlan 2 n 1 n 1 C(n) = (blg kc +2)=2n 2+ blg kc. k=1 k=1 k=1 Korzystajac zlematu3.możemy wyznaczyć wartość sumy n 1 blg kc =(n +1)blg nc 2 blg nc+1 +2 blg nc, k=1 ast ad mamy ostatecznie C(n) =n blg nc +2n 2 blg nc+1. Ćwiczenie 1. Zbadać własności funkcjibędacej rozwiazaniem rekurencji (23). Pokazać, że C(n) =n lg n + nθ(1 flg ng), gdzie θ(x) =1+x 2 x przyjmuje wartości dodatnie w przedziale (0, 1) idodatkowospełnia warunki θ(0) = θ(1) = 0 oraz 0 <θ(x) < dla x 2 (0, 1). Rozwiazanie: Podstawiajac blg nc =lgn flg ng do wzoru (24), otrzymujemy C(n) =n lg n nflg ng+2n 2 lg n flg ng+1 1 flg ng = n lg n nflg ng+2n n2 = n lg n + n(2 flg ng 2 1 flg ng )=nlg n + nθ(1 flg ng). Aby uzyskać żadane oszacowanie wystarczy wyznaczyć wartość największa funkcji θ w przedziale [0, 1]. W tym celu wyznaczmy punkty stacjonarne, tzn. miejsca zerowe pochodnej funkcji θ : θ 0 (x) =1 2 x ln 2. 17

18 Jak łatwo wyliczyć (szczególnie za pomoca dowolnego programu matematycznego rozwiazaniem równania 1 2 x ln(ln 2) ln 2 = 0 jest liczba x 0 = ln 2 (¼ ). Ponieważ θ(0) = θ(1) = 0 i θ(x 0 ) ¼ , wnosimy, że maksymalna wartość funkcji θ w przedziale [0, 1] nie przekracza 0.087, co ilustruje poniższy rysunek y Wykres funkcji [0, 1] 3 x! θ(x) x 5 Bibliografia 1. Banachowski L., Diks K., Algorytmy i struktury danych, Wydawnictwo Naukowo-Techniczne, Warszawa Cormen T.H., E.Leiserson Ch., Rivest R.L., Wprowadzenie do algorytmów, Wydawnictwo Naukowo-Techniczne, Warszawa, Manber U., Introduction to Algorithms, Addison-Wesley Publishing Company, New York, Sedgewick R., Flajolet P., An introduction to the Analysis of Algorithms, Addison-Wesley Publishing Company, New York,

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

Krzysztof Gniłka. Twierdzenie o rekurencji uniwersalnej

Krzysztof Gniłka. Twierdzenie o rekurencji uniwersalnej Krzysztof Gniłka Twierdzenie o rekurencji uniwersalnej Spis treści Wstęp 3 Rozdział 1 Definicje i pomocnicze lematy 4 1 Części całkowite liczb 4 2 Logarytmy 9 3 Notacja asymptotyczna 12 Rozdział 2 Metoda

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Metoda Dziel i zwyciężaj. Problem Sortowania, cd. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

i = n = n 1 + n 2 1 i 2 n 1. n(n + 1)(2n + 1) n (n + 1) =

i = n = n 1 + n 2 1 i 2 n 1. n(n + 1)(2n + 1) n (n + 1) = Druga zasada inducji matematycznej Niech m będzie liczbą całowitą, niech p(n) będzie ciągiem zdań zdefiniowanych na zbiorze {n Z: n m} oraz niech l będzie nieujemną liczbą całowitą. Jeśli (P) wszystie

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

Bardziej szczegółowo

Efektywna metoda sortowania sortowanie przez scalanie

Efektywna metoda sortowania sortowanie przez scalanie Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy

Bardziej szczegółowo

Sortowanie przez scalanie

Sortowanie przez scalanie Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31 Wykład 8 Informatyka Stosowana 26 listopada 208 Magdalena Alama-Bućko Informatyka Stosowana Wykład 8 26..208, M.A-B / 3 Definicja Ciagiem liczbowym {a n }, n N nazywamy funkcję odwzorowujac a zbiór liczb

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ i KOMPUTEROWEJ Katedra Automatyki i Technik Informacyjnych Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew

Bardziej szczegółowo

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s]. Zadanie 1. Wiązka zadań Od szczegółu do ogółu Rozważmy następujący algorytm: Dane: Algorytm 1: k liczba naturalna, A[1...2 k ] tablica liczb całkowitych. n 1 dla i=1,2,,k wykonuj n 2n s 1 dopóki s

Bardziej szczegółowo

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność

Bardziej szczegółowo

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27 Wykład 7 Informatyka Stosowana 21 listopada 2016 Informatyka Stosowana Wykład 7 21 listopada 2016 1 / 27 Relacje Informatyka Stosowana Wykład 7 21 listopada 2016 2 / 27 Definicja Iloczynem kartezjańskim

Bardziej szczegółowo

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego WMS, 2019 1 Wstęp Niniejszy dokument ma na celu prezentację w teorii i na przykładach rozwiązywania szczególnych typów równań

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14 Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k)

Bardziej szczegółowo

Równania różnicowe. Dodatkowo umawiamy się, że powyższy iloczyn po pustym zbiorze indeksów, czyli na przykład 0

Równania różnicowe. Dodatkowo umawiamy się, że powyższy iloczyn po pustym zbiorze indeksów, czyli na przykład 0 Równania różnicowe 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp Zamiast tego pisać będziemy x (n), y (n) itp Ponadto

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Funkcja kwadratowa. f(x) = ax 2 + bx + c, Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k. Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Ciagi liczbowe wykład 4

Ciagi liczbowe wykład 4 Ciagi liczbowe wykład 4 dr Mariusz Grzadziel Katedra Matematyki, Uniwersytet Przyrodniczy we Wrocławiu semestr zimowy, r. akad. 2016/2017 Definicja (ciagu liczbowego) Ciagiem liczbowym nazywamy funkcję

Bardziej szczegółowo

Ciągi liczbowe wykład 3

Ciągi liczbowe wykład 3 Ciągi liczbowe wykład 3 dr Mariusz Grządziel 3 kwietnia 203 Definicja (ciągu liczbowego). Ciagiem liczbowym nazywamy funkcję odwzorowuja- ca zbiór liczb naturalnych w zbiór liczb rzeczywistych. Wartość

Bardziej szczegółowo

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie

Bardziej szczegółowo

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam

Bardziej szczegółowo

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa Sformułowanie zadania interpolacji Metody Numeryczne Wykład 4 Wykład 5 Interpolacja wielomianowa Niech D R i niech F bȩdzie pewnym zbiorem funkcji f : D R. Niech x 0, x 1,..., x n bȩdzie ustalonym zbiorem

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Rekurencja 11 Wieże Hanoi Rekurencja jest to zdolność podprogramu (procedury lub funkcji) do wywoływania samego siebie Zacznijmy

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp. Definicja 1. Operatorem

Bardziej szczegółowo

Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014)

Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014) dr inż. Ryszard Rębowski DEFINICJA CIĄGU LICZBOWEGO Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z grudnia 04) Definicja ciągu liczbowego Spośród

Bardziej szczegółowo

Wykład 2. Poprawność algorytmów

Wykład 2. Poprawność algorytmów Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Wykład 4: Iteracja, indukcja i rekurencja

Wykład 4: Iteracja, indukcja i rekurencja Teoretyczne podstawy informatyki Wykład 4: Iteracja, indukcja i rekurencja Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Iteracja, indukcja i rekurencja to podstawowe zagadnienia pojawiające się przy

Bardziej szczegółowo

Rekurencja. Przykład. Rozważmy ciąg

Rekurencja. Przykład. Rozważmy ciąg Rekurencja Definicje rekurencyjne Definicja: Mówimy, iż ciąg jest zdefiniowany rekurencyjnie, jeżeli: (P) Określony jest pewien skończony zbiór wyrazów tego ciągu, zwykle jest to pierwszy wyraz tego ciągu

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.

Bardziej szczegółowo

Wstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel Wstęp do programowania Dziel i rządź Piotr Chrząstowski-Wachtel Divide et impera Starożytni Rzymianie znali tę zasadę Łatwiej się rządzi, jeśli poddani są podzieleni Nie chodziło im jednak bynajmniej o

Bardziej szczegółowo

Obliczenia naukowe Wykład nr 6

Obliczenia naukowe Wykład nr 6 Obliczenia naukowe Wykład nr 6 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa

Bardziej szczegółowo

VI. Równania różniczkowe liniowe wyższych rzędów

VI. Równania różniczkowe liniowe wyższych rzędów VI. 1. Równanie różniczkowe liniowe n-tego rzędu o zmiennych współczynnikach Niech podobnie jak w poprzednim paragrafie K = C lub K = R. Podobnie jak w dziedzinie rzeczywistej wprowadzamy pochodne wyższych

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 5 część I 2 Iteracja Rekurencja Indukcja Iteracja Rekurencja Indukcja Algorytmy sortujące Rozwiazywanie

Bardziej szczegółowo

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy i Struktury Danych, 2. ćwiczenia Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą

Bardziej szczegółowo

Wykład 5. Informatyka Stosowana. 7 listopada Informatyka Stosowana Wykład 5 7 listopada / 28

Wykład 5. Informatyka Stosowana. 7 listopada Informatyka Stosowana Wykład 5 7 listopada / 28 Wykład 5 Informatyka Stosowana 7 listopada 2016 Informatyka Stosowana Wykład 5 7 listopada 2016 1 / 28 Definicja (Złożenie funkcji) Niech X, Y, Z, W - podzbiory R. Niech f : X Y, g : Z W, Y Z. Złożeniem

Bardziej szczegółowo

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz

Bardziej szczegółowo

Algorytmy w teorii liczb

Algorytmy w teorii liczb Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,

Bardziej szczegółowo

Rozdział 6. Ciągłość. 6.1 Granica funkcji

Rozdział 6. Ciągłość. 6.1 Granica funkcji Rozdział 6 Ciągłość 6.1 Granica funkcji Podamy najpierw dwie definicje granicy funkcji w punkcie i pokażemy ich równoważność. Definicja Cauchy ego granicy funkcji w punkcie. Niech f : X R, gdzie X R oraz

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna wykład 1: Indukcja i zależności rekurencyjne Gniewomir Sarbicki Literatura Kenneth A. Ross, Charles R. B. Wright Matematyka Dyskretna PWN 005 J. Jaworski, Z. Palka, J. Szymański Matematyka

Bardziej szczegółowo

Rozdział 4. Ciągi nieskończone. 4.1 Ciągi nieskończone

Rozdział 4. Ciągi nieskończone. 4.1 Ciągi nieskończone Rozdział 4 Ciągi nieskończone W rozdziale tym wprowadzimy pojęcie granicy ciągu. Dalej rozszerzymy to pojęcie na przypadek dowolnych funkcji. Jak zauważyliśmy we wstępie jest to najważniejsze pojęcie analizy

Bardziej szczegółowo

Zasady analizy algorytmów

Zasady analizy algorytmów Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Wyk lad 7 Baza i wymiar przestrzeni liniowej Wyk lad 7 Baza i wymiar przestrzeni liniowej 1 Baza przestrzeni liniowej Niech V bedzie przestrzenia liniowa. Powiemy, że podzbiór X V jest maksymalnym zbiorem liniowo niezależnym, jeśli X jest zbiorem

Bardziej szczegółowo

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

Łatwy dowód poniższej własności pozostawiamy czytelnikowi.

Łatwy dowód poniższej własności pozostawiamy czytelnikowi. Rozdział 3 Logarytm i potęga 3.1 Potęga o wykładniku naturalnym Definicja potęgi o wykładniku naturalnym. Niech x R oraz n N. Potęgą o podstawie x i wykładniku n nazywamy liczbę x n określoną następująco:

Bardziej szczegółowo

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : R n R m będzie pewna funkcja odpowiednio wiele

Bardziej szczegółowo

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie

Bardziej szczegółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych Tematyka do egzaminu ustnego z matematyki 3 semestr LO dla dorosłych I. Sumy algebraiczne 1. Dodawanie i odejmowanie sum algebraicznych 2. Mnożenie sum algebraicznych 3. Wzory skróconego mnożenia - zastosowanie

Bardziej szczegółowo

Układy równań i równania wyższych rzędów

Układy równań i równania wyższych rzędów Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem

Bardziej szczegółowo

Zaliczenie. Egzamin. lub. Wykład. Zaliczenie. Ćwiczenie. 3 zadania. Projekty. Ocena. Na ocenę

Zaliczenie. Egzamin. lub. Wykład. Zaliczenie. Ćwiczenie. 3 zadania. Projekty. Ocena. Na ocenę Zaliczenie Egzamin Ocena lub Zerówka Wykład z Zaliczenie Ocena Ćwiczenie Projekty 3 zadania Na ocenę Sylabus O http://wmii.uwm.edu.pl/~jakula/sylabus_23 17N1-ALISTD_PL.pdf JAK? CO? ILE? Polecane Cormen

Bardziej szczegółowo

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa Równanie Bessela Będziemy rozważać następujące równanie Bessela x y xy x ν )y 0 ) gdzie ν 0 jest pewnym parametrem Rozwiązania równania ) nazywamy funkcjami Bessela rzędu ν Sprawdzamy, że x 0 jest regularnym

Bardziej szczegółowo

Elementy metod numerycznych

Elementy metod numerycznych Wykład nr 5 i jej modyfikacje. i zera wielomianów Założenia metody Newtona Niech będzie dane równanie f (x) = 0 oraz przedział a, b taki, że w jego wnętrzu znajduje się dokładnie jeden pierwiastek α badanego

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Wymagania edukacyjne z matematyki klasa II technikum

Wymagania edukacyjne z matematyki klasa II technikum Wymagania edukacyjne z matematyki klasa II technikum Poziom rozszerzony Obowiązują wymagania z zakresu podstawowego oraz dodatkowo: 1. JĘZYK MATEMATYKI I FUNKCJE LICZBOWE Uczeń otrzymuje ocenę dopuszczającą

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe 15 stycznia 2019 Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r P Jaka wartość zostanie zwrócona

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Organizacja wykładu. Problem Sortowania. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Analiza Algorytmów - Moduł 2- Ćwiczenia

Analiza Algorytmów - Moduł 2- Ćwiczenia Analiza Algorytmów - Moduł 2- Ćwiczenia Aleksandra Orpel 1 Niezmienniki pętli Ćwiczenie 1. Wykaż, że podany warunek "k 4 > 2m 6 " jest niezmiennikiem pętli 1while 1 mdo 2 3 m := 2m; 4 k := 3k; 5 end: Rozwiazanie:

Bardziej szczegółowo

Matematyka Dyskretna Zestaw 2

Matematyka Dyskretna Zestaw 2 Materiały dydaktyczne Matematyka Dyskretna (Zestaw ) Matematyka Dyskretna Zestaw 1. Wykazać, że nie istnieje liczba naturalna, która przy dzieleniu przez 18 daje resztę 13, a przy dzieleniu przez 1 daje

Bardziej szczegółowo

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Wymagania konieczne (K) dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, zatem

Bardziej szczegółowo

Programowanie Współbieżne. Algorytmy

Programowanie Współbieżne. Algorytmy Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica

Bardziej szczegółowo

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych. Ćwiczenia nr 2 metody połowienia, regula falsi i siecznych. Sformułowanie zagadnienia Niech będzie dane równanie postaci f (x) = 0, gdzie f jest pewną funkcją nieliniową (jeżeli f jest liniowa to zagadnienie

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Wyk lad 11 1 Wektory i wartości w lasne

Wyk lad 11 1 Wektory i wartości w lasne Wyk lad 11 Wektory i wartości w lasne 1 Wektory i wartości w lasne Niech V bedzie przestrzenia liniowa nad cia lem K Każde przekszta lcenie liniowe f : V V nazywamy endomorfizmem liniowym przestrzeni V

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Rozwiazywanie układów równań liniowych. Ax = b

Rozwiazywanie układów równań liniowych. Ax = b Rozwiazywanie układów równań liniowych Ax = b 1 PLAN REFERATU: Warunki istnienia rozwiazań układu Metoda najmniejszych kwadratów Metoda najmniejszych kwadratów - algorytm rekurencyjny Rozwiazanie układu

Bardziej szczegółowo

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 Zadanie IV. Dany jest prostokątny arkusz kartony o długości 80 cm i szerokości 50 cm. W czterech rogach tego arkusza wycięto kwadratowe

Bardziej szczegółowo

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.) PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY I. Proste na płaszczyźnie (15 godz.) Równanie prostej w postaci ogólnej Wzajemne połoŝenie dwóch prostych Nierówność liniowa z dwiema niewiadomymi

Bardziej szczegółowo

Programowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp

Programowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/34 PRiR Algorytm Kunga Dany jest odcinek [a,b] i ciągła funkcja

Bardziej szczegółowo

Projektowanie i analiza algorytmów

Projektowanie i analiza algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Projektowanie i analiza algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

Wykład 3. Metoda dziel i zwyciężaj

Wykład 3. Metoda dziel i zwyciężaj Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie

Bardziej szczegółowo

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne: Klasa 1 technikum Przedmiotowy system oceniania wraz z wymaganiami edukacyjnymi Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i

Bardziej szczegółowo

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Materiały dydaktyczne na zajęcia wyrównawcze z matematyki dla studentów pierwszego roku kierunku zamawianego Inżynieria Środowiska w ramach projektu Era inżyniera pewna lokata na przyszłość Projekt Era

Bardziej szczegółowo

S n = a 1 1 qn,gdyq 1

S n = a 1 1 qn,gdyq 1 Spis treści Powtórzenie wiadomości... 9 Zadania i zbiory... 10 Obliczenia... 18 Ciągi... 27 Własności funkcji... 31 Funkcje liniowe i kwadratowe... 39 Wielomiany i wyrażenia wymierne... 45 Funkcje wykładnicze

Bardziej szczegółowo

Matematyka i Statystyka w Finansach. Rachunek Różniczkowy

Matematyka i Statystyka w Finansach. Rachunek Różniczkowy Rachunek Różniczkowy Ciąg liczbowy Link Ciągiem liczbowym nieskończonym nazywamy każdą funkcję a która odwzorowuje zbiór liczb naturalnych N w zbiór liczb rzeczywistych R a : N R. Tradycyjnie wartość a(n)

Bardziej szczegółowo

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 Metody numeryczne I Dokładność obliczeń numerycznych. Złożoność obliczeniowa algorytmów Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 ... the purpose of

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 9: Programowanie

Bardziej szczegółowo

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki

Bardziej szczegółowo

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub WYKŁAD 2 1 2. FUNKCJE. 2.1.PODSTAWOWE DEFINICJE. Niech będą dane zbiory i. Jeżeli każdemu elementowi x ze zbioru,, przyporządkujemy jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy

Bardziej szczegółowo