Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

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

Download "Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku"

Transkrypt

1 Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku

2

3 Rozdział 1 Rekurencja 11 Wieże Hanoi Rekurencja jest to zdolność podprogramu (procedury lub funkcji) do wywoływania samego siebie Zacznijmy od przykładu wież Hanoi Przypuśćmy, że mamy trzy wieże lub trzy paliki:, i Na pierwszym paliku,, znajduj a siȩ trzy kr ażki różnej wielkości, nanizane w porz adku od najwiȩkszego na dole do najmniejszego na górze Paliki i s a na pocz atku puste Należy przenieść wszystkie kr ażki z palika w razie potrzeby palikiem, według nastȩpuj acych reguł: można przenosić po jednym kr ażku z jednego palika na inny, nie można umieszczać wiȩkszego kr ażka na mniejszym na, posługuj ac siȩ Rozwi azaniem tej łamigłówki dla trzech kr ażków jest nastȩpuj acy ci ag siedmiu przełożeń: oznacza przeniesienie szczytowego kr ażka z palika na palik gdzie zapis Chodzi nam teraz o algorytm, który dla dowolnej liczby operacji potrzebnych do przełożenia kr ażków z palika na palik Algorytm przekładania kr ażków jeżeli, to przekładamy ten jeden kr ażek jeżeli, to: przekładamy kr ażków z razie potrzeby palikiem ), przekładamy -ty kr ażek z na, przekładamy kr ażków z na (za pomoc a palika ) 3, kr ażków wypisze ci ag na pomocniczy palik (posługuj ac siȩ w

4 4 Rozdział 1 Rekurencja Nietrudno zauważyć, że jeżeli proces przekładania kr ażków jest prawidłowy, to cały proces też jest prawidłowy, ponieważ obecność najwiȩkszego kr ażka na dole palika nie przeszkadza w przekładaniu mniejszych kr ażków Powyższy algorytm opiszmy teraz za pomoc a rekurencyjnej procedury przenieś, która odwołuje siȩ sama do siebie i wypisuje ci ag instrukcji przeniesienia kr ażków z palika na palik procedura przenieś( kr ażków z na, za pomoc a ): jeżeli, to wypisz, jeżeli, to przenieś( kr ażków z na, za pomoc a ), wypisz, przenieś( kr ażków z na, za pomoc a ) Rysunek 11: Schemat działania procedury przenieś dla wież Hanoi z trzema kr ażkami Na rysunku 81 zilustrowano działanie procedury przenieś dla Skrót oznacza wywołanie procedury przenieś( kr ażków z na, za pomoc a ) Strzałki w dół oznaczaj a wywołanie procedury, strzałki w górȩ powroty po wykonaniu procedury, a strzałki poziome odpowiadaj a nastȩpstwu instrukcji w ramach jednego wykonania procedury

5 12 Algorytm Euklidesa, wersja rekurencyjna 5 12 Algorytm Euklidesa, wersja rekurencyjna Innym przykładem algorytmu rekurencyjnego może być rekurencyjna wersja algorytmu Euklidesa, który oblicza najwiȩkszy wspólny dzielnik dwóch dodatnich liczb naturalnych i : fun kcja NWD(a,b): jeżeli, to jeżeli, to jeżeli, to,, W jȩzyku Pascal powyższ a procedurȩ możemy zapisać w nastȩpuj acy sposób: function NWD(a,b:integer):integer; begin end; if a=b then NWD:=a else if then NWD:=NWD(a-b,b) else NWD:=NWD(a,b-a) Rysunek 12: Schemat działania rekurencyjnej wersji algorytmu Euklidesa NWD(5,3):=1 NWD(2,3):=1 NWD(2,1):=1 NWD(1,1):=1 Na rysunku 82 przedstawiono proces obliczania funkcji NWD(7,3) 13 Funkcje rekurencyjne Czasami wygodnie jest zdefiniować funkcje za pomoc a wzoru rekurencyjnego Na przykład funkcjȩ silnia definiuje siȩ zwykle za pomoc a nastȩpuj acych dwóch równań: "

6 6 Rozdział 1 Rekurencja Podobnie można definiować inne funkcje ze zbioru liczb naturalnych w zbiór liczb naturalnych Definicja taka zawiera przepis, jak policzyć wartość funkcji dla wartości pocz atkowych, oraz drugi przepis, jak wyliczyć wartość dla argumentu za pomoc a wartości funkcji dla mniejszych argumentów 14 Funkcja (ci ag) Fibonacciego Nastȩpnym przykładem rekurencyjnego definiowania funkcji jest funkcja Fibonacciego, określona równaniami: Kolejne wartości funkcji Fibonacciego to: Udowodnimy teraz przez indukcjȩ, że (11) gdzie " oraz " Równość (11) zachodzi dla i Załóżmy teraz, że zachodzi dla wszystkich argumentów mniejszych od Zauważmy, że oraz s a rozwi azaniami równania, mamy wiȩc oraz a także oraz Łatwo teraz można pokazać, że Ponieważ, mamy, wiȩc wartość jest równa po zaokr agleniu do najbliższej liczby naturalnej i funkcja Fibonacciego rośnie wykładniczo 15 Funkcja Ackermanna, nastȩpuj acymi rów- Funkcja Ackermanna określona jest, dla liczb naturalnych #" naniami: &% $" #" $" $" " Funkcja Ackermanna jest przykładem funkcji maj acej dość prost a definicjȩ, ale jest praktycznie nieobliczalna z tego powodu, że jej wartości szybko rosn a Na przykład: ( ) +*, "

7 16 Algorytm sortowania przez scalanie 7 ) ) ) ) ) i ogólnie ) 16 Algorytm sortowania przez scalanie Zajmijmy siȩ teraz pewnym prostym rekurencyjnym algorytem sortowania ci agu Dla prostoty załóżmy, że długość ci agu jest potȩg a dwójki Algorytm sortowania jeżeli ci ag ma długość jeden, to jest już posortowany, jeżeli ci ag jest dłuższy, to: dzielimy go na połowy, sortujemy te połowy, ł aczymy posortowane połowy w jeden posortowany ci ag Istota pomysłu polega na tym, że można szybko poł aczyć dwa posortowane ci agi w jeden posortowany ci ag Algorytm ł aczenia wyjaśnijmy na przykładzie Przypuśćmy, że mamy dwa ci agi: jest pusty Ustawiamy dwa wskaźniki po jednym na pocz atku każdego ci agu (wskazane elementy bȩd a oznaczone daszkiem): i że chcemy je poł aczyć w posortowany ci ag Na pocz atku ci ag Porównujemy wskazane elementy Mniejszy z porównanych elementów przepisujemy na ci ag i przesuwamy wskaźnik w tym ci agu, z którego był wziȩty element do ci agu W wyniku otrzymamy: Powtarzamy ten proces tak długo, aż w jednym z ci agów ostatni element zostanie zabrany do ci agu

8 8 Rozdział 1 Rekurencja W takiej sytuacje pozostałe elementy tego drugiego ci agu przenosimy do ci agu : Liczba porównań potrzebna do scalenia ci agów nie jest wiȩksza od sumy długości tych ci agów Algorytm merge-sort (inaczej sortowanie przez scalanie), który sortuje ci ag, można rekurencyjnie opisać tak (rysunek 83): merge-sort(s): jeżeli ma tylko jeden element, to koniec, jeżeli ma wiȩcej elementów, to: dzielimy ci ag na połowy i merge-sort( ),, merge-sort( ł aczymy i ), Rysunek 13: Schemat działania algorytmu merge-sort dla ci agu 3, 7, 5, 2, 6, 1, 8, Algorytm merge-sort jest przykładem algorytmu typu dziel i zwyciȩżaj, którego ogólny schemat wygl ada tak: jeżeli problem jest małego rozmiaru, to rozwi azujemy go bezpośrednio,

9 17 Rozwi azywanie równań i nierówności rekurencyjnych 9 jeżeli problem jest duży, to: dzielimy problem na podproblemy, rozwi azujemy podproblemy, ł aczymy rozwi azania podproblemów w rozwi azanie całego problemu 17 Rozwi azywanie równań i nierówności rekurencyjnych Oszacujmy teraz czas działania algorytmu sortowania przez scalanie Niech oznacza liczbȩ operacji porównania potrzebn a do posortowania ci agu długości Mamy nastȩpuj ace oszacowania: (12) (13) Druga zależność wynika st ad, że aby posortować ci ag długości, sortujemy dwa ci agi długości, a nastȩpnie potrzebujemy porównań, aby scalić te dwie połówki Dla prostoty rozważań zakładamy tutaj, że jest potȩg a dwójki, dka jakiegoś naturalnego Istnieje wiele sposobów wyliczania lub szacowania funkcji określonej rekurencyjnie Przedstawimy teraz dwa najprostsze z nich: metodȩ podstawiania i metodȩ iteracji 18 Metoda podstawiania W metodzie podstawiania odgadujemy rozwi azanie albo jego oszacowanie, a nstȩpnie pokazujemy, że jest ono poprawne Pokażemy działanie tej metody szacuj ac złożoność czasow a merge-sortu określon a rekurencj a (12)-(13) Zgadujemy, że dla jakiejś stałej i udowodnimy przez indukcjȩ, że powyższa nierówność zachodzi dla każdego potȩgi dwójki Zachodzi ona dla Zakładamy teraz, że i podstawiamy do nierówności (13) Ostatnia nierówność jest spełniona, jeżeli Metoda podstawiania została zastosowana w podrozdziale o funkcji Fibonacciego do pokazania, że (14)

10 10 Rozdział 1 Rekurencja ale tam odgadniȩto dokładne rozwi azanie Teraz pokażemy jak dojść do rozwi aznia zaczynaj ac od ogólniejszej postaci Zacznijmy od równania (15) Sprawdźmy, jakie funkcje postaci, spełniaj a to równanie Po podstawieniu do równania (15) mamy Po podzieleniu stromnami przez, otrzymamy " Jest to równanie kwadratowe z dwoma rozwi azaniami, czyli dwie funkcje oraz Zauważmy, że także każda funkcja postaci gdzie i oraz spełniaj a równanie (15) to stałe, spełnia równanie (15) Sprawdźmy teraz, dla jakich stałych i funkcja spełnia zależności Powyższy układ jest spełniony dla i Otrzymujemu układ równości Tak wiȩc otrzymujemy wzór na funkcjȩ Fibonacciego (16) 19 Metoda iteracyjna Moteda iteracyjna polega na rozwijaniu rekursji Jako pierwszy przykład rozważmy zależność Dla uproszczenia zakładamy, że jest potȩg a rozwijamy w nastȩpuj acy sposób:, dla jakiegoś naturalnego Funkcjȩ

11 ) ) 110 Metoda rekurencji uniwersalnej 11,,,, Iteracjȩ powtarzamy, aż ostatni składnik bȩdzie zawierał Otrzymamy wtedy, Skorzystaliśmy tu z równości Jako drugi przykład rozważmy rekursjȩ oraz z faktu, że * Jak bȩdziemy j a rozwijać, to otrzymamy Dla Otrzymamy wtedy 110 Metoda rekurencji uniwersalnej, czyli gdy * i (17) Przypuśćmy, że mamy równanie rekurencyjne (18)

12 12 Rozdział 1 Rekurencja gdzie i Równanie takie otrzymamy szacuj ac czas działania algorytmu rekurencyjnego, który metod a "dziel i rz adź" dzieli problem na podproblemów rozmiaru Funkcja opisuje czas potrzebny na podzielenie problemu na podproblemy i na poł aczenie rozwi azań podproblemów w rozwi azanie całego problemu Na koniec podamy bez dowodu twierdzenie mówi ace jak można szacować funkcjȩ określon a równaniem (18) Twierdzenie 11 (o rekurencji uniwersalnej) Niech bȩdzie określone dla nieujemnych liczb całkowitych równaniem rekurencyjnym " gdzie, i " oznacza " lub Wtedy Jeżeli dla pewnej stałej, to Jeżeli, to Jeżeli dla pewnej stałej oraz pewnej stałej, to 111 Zadania 1 Napisz program, który rekurencyjnie oblicza: a) funkcjȩ silnia, b) funkcjȩ Fibonacciego, c) funkcjȩ wykładnicz a dla 2 Napisz program, który oblicza symbol Newtona: a) według wzoru rekurencyjnego b) według wzoru Porównaj te programy 3 Napisz program, który rekurencyjnie oblicza funkcjȩ: 4 Oblicz według rekurencyjnego algorytmu Euklidesa 5 Według algorytmu ł aczenia poł acz ci agi i

13 111 Zadania 13 6 Stosuj ac algorytm merge-sort posortuj ci ag słów: słowik, wróbel, kos, jaskółka, kogut, dziȩcioł, gil, kukułka, szczygieł, sowa, kruk, czubatka [Fragment wiersza Ptasie radio Juliana Tuwima] 7 Dana jest funkcja Oblicz : Co oblicza funkcja? 8 Dana jest funkcja Oblicz : Co oblicza funkcja? 9 Wypisz ci ag przełożeń potrzebnych do przeniesienia czterech kr ażków na wieżach Hanoi 10 Udowodnij, że algorytm opisany w podrozdziale 81 wymaga przełożeń do przeniesienia kr ażków "

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

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

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end; Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Rekurencja, metoda dziel i zwyciężaj Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. VIII Jesień 2014 1 / 27 Rekurencja Recursion See Recursion. P. Daniluk(Wydział

Bardziej szczegółowo

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

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ł Oznaczenia W tym rozdziale przedstawimy podstawowe oznacznia oznacza kwantyfikator ogólny "dla każdego" oznacza kwantyfikator szczegółowy

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

Rekurencja. Przygotowała: Agnieszka Reiter

Rekurencja. Przygotowała: Agnieszka Reiter Rekurencja Przygotowała: Agnieszka Reiter Definicja Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być

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

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 Grafy skierowane W tym rozdziale zajmiemy siȩ algorytmami wyszukiwania najkrótszej drogi w grafach skierowanych Każdej krawȩdzi

Bardziej szczegółowo

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański

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

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację

Bardziej szczegółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni. Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia

Bardziej szczegółowo

Algorytmy. wer Wojciech Myszka 30 listopada 2008

Algorytmy. wer Wojciech Myszka 30 listopada 2008 Algorytmy Część IV wer. 1.2 Wojciech Myszka 30 listopada 2008 Spis treści I Spis treści Jak się tworzy algorytmy? Poszukiwania i wędrówki Dziel i zwyciężaj Rekurencja Definicje Przykład Schemat blokowy

Bardziej szczegółowo

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) 1. Liczby wymierne. - wartość bezwzględna liczby. dla 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) - dla < 0 ( wartością bezwzględną liczby ujemnej jest liczba do niej przeciwna) W interpretacji

Bardziej szczegółowo

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010 R. Rȩbowski 1 WPROWADZENIE Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010 1 Wprowadzenie Powszechnie uważa siȩ, że metoda simplex, jako uniwersalny algorytm pozwalaj acyznaleźć rozwi azanie optymalne

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

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska, Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,

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

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 Struktury danych 1.1 Listy, stosy i kolejki Lista to uporz adkowany ci ag elementów. Przykładami list s a wektory lub tablice

Bardziej szczegółowo

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Sortowanie danych. Jolanta Bachan. Podstawy programowania Sortowanie danych Podstawy programowania 2013-06-06 Sortowanie przez wybieranie 9 9 9 9 9 9 10 7 7 7 7 7 10 9 1 3 3 4 10 7 7 10 10 10 10 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2 2 2 3 1 1 1 1 1 1 Gurbiel et al. 2000

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 Kombinatoryka 11 Ci agi Zastanówmy siȩ, ile ci agów długości można utworzyć z elementów zbioru zawieraj acego symboli Jeżeli zbiór

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

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu

Bardziej szczegółowo

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego

Bardziej szczegółowo

O rekurencji i nie tylko

O rekurencji i nie tylko O rekurencji i nie tylko dr Krzysztof Bryś Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska 10 grudnia 2011 Intuicyjnie: rekurencja sprowadzenie rozwiązania danego problemu do rozwiązania

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

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego

Bardziej szczegółowo

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne

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

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach:

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach: Teoria miary WPPT IIr semestr zimowy 2009 Wyk lad 4 Liczby kardynalne, indukcja pozaskończona DOBRY PORZA DEK 14/10/09 Niech X bȩdzie dowolnym zbiorem Dobry porz adek to relacja P X X (bȩdziemy pisać x

Bardziej szczegółowo

Podstawy Programowania semestr drugi. Wykład dziewiąty

Podstawy Programowania semestr drugi. Wykład dziewiąty Wykład dziewiąty 1. Rekurencja i technika dziel i zwyciężaj Rekurencja jest silnie związana z jedną z najefektywniejszych technik projektowania algorytmów, którą określamy nazwą dziel i zwyciężaj (ang.

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 9 Rekurencja Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Przykład:

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

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

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 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

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

1.1. Uzupełnij poniższą tabelę: i wynik(i)

1.1. Uzupełnij poniższą tabelę: i wynik(i) Zadanie 1. Krzysztof, Kamil Wiązka zadań Ciągi rekurencyjne Dana jest następująca funkcja rekurencyjna: funkcja wynik( i ) jeżeli i < 3 zwróć 1 i zakończ; w przeciwnym razie jeżeli i mod 2 = 0 zwróć wynik(i

Bardziej szczegółowo

Laboratorium nr 1. i 2.

Laboratorium nr 1. i 2. Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych

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

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

Równoleg le sortowanie przez scalanie

Równoleg le sortowanie przez scalanie Równoleg le sortowanie przez scalanie Bartosz Zieliński 1 Zadanie Napisanie programu sortuj acego przez scalanie tablicȩ wygenerowanych losowo liczb typu double w którym każda z procedur scalania odbywa

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 Teoria liczb 11 Dzielenie całkowitoliczbowe Zacznijmy od przypomnienia szkolnego algorytmu dzielenia liczb naturalnych Podzielmy

Bardziej szczegółowo

2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność. 2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność. 11 października 2008 r. 19. Wskazać takie liczby naturalne m,

Bardziej szczegółowo

12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić , żeby mieć pewność, że ciąg wywołań się zakończy.

12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić <warunek>, żeby mieć pewność, że ciąg wywołań się zakończy. 12. Rekurencja. Funkcja rekurencyjna funkcja, która wywołuje samą siebie. Naturalne postępowanie: np. zbierając rozsypane pionki do gry podnosi się zwykle pierwszy, a potem zbiera się resztę w ten sam

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

Rekurencja/rekursja. Iluzja istnienia wielu kopii tego samego algorytmu (aktywacji) Tylko jedna aktywacja jest aktywna w danej chwili

Rekurencja/rekursja. Iluzja istnienia wielu kopii tego samego algorytmu (aktywacji) Tylko jedna aktywacja jest aktywna w danej chwili rekurencja 1 Rekurencja/rekursja Alternatywny dla pętli sposób powtarzania pewnych czynności; kolejny etap podzadanie poprzedniego Rekursja może być zamieniona na iteracje Cechy rekurencji Rozłożenie problemu

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

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

Równania różniczkowe cz astkowe rzȩdu pierwszego

Równania różniczkowe cz astkowe rzȩdu pierwszego Równania różniczkowe cz astkowe rzȩd pierwszego 1 Równania liniowe jednorodne Rozważmy równanie a 1 ( 1,..., n ) 1 +... + a n ( 1,..., n ) n = 0, (1) gdzie a i, i = 1,..., n s a dane, a fnkcja = ( 1,...,

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

Wieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa

Wieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Wieczorowe Studia Licencjackie Wrocław, 7.11.2006 Wstęp do programowania Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Zaprezentujemy teraz algorytm na wyznaczanie wszystkich

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie 1 MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś Wprowadzenie Istniej a dwa różne kryteria mówi ace, które narzȩdzia matematyczne należy zaliczyć do matematyki dyskretnej. Pierwsze definiuje matematykȩ

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik

Bardziej szczegółowo

z n n=1 S n nazywamy sum a szeregu. Szereg, który nie jest zbieżny, nazywamy rozbieżnym. n=1

z n n=1 S n nazywamy sum a szeregu. Szereg, który nie jest zbieżny, nazywamy rozbieżnym. n=1 3 Szeregi zespolone 3. Szeregi liczbowe Mówimy, że szereg o wyrazach zespolonych jest zbieżny, jeżeli ci ag jego sum czȩściowych {S n }, gdzie S n = z + z +... + jest zbieżny do granicy w laściwej. Granicȩ

Bardziej szczegółowo

Seria zadań z Algebry IIR nr kwietnia 2017 r. i V 2 = B 2, B 4 R, gdzie

Seria zadań z Algebry IIR nr kwietnia 2017 r. i V 2 = B 2, B 4 R, gdzie Seria zadań z Algebry IIR nr 29 kwietnia 207 r Notacja: We wszystkich poniższych zadaniach K jest ciałem, V wektorow a nad K zaś jest przestrzeni a Zadanie Niechaj V = K 4 [t] Określmy podprzestrzenie

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala

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

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 Rachunek prawdopodobieństwa 11 Zdarzenia Podstawowym pojȩciem rachunku prawdopodobieństwa jest przestrzeń zdarzeń elementarnych,

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

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

MATEMATYKA W SZKOLE HELIANTUS WARSZAWA UL. BAŻANCIA 16 SYSTEMY LICZBOWE POZYCYJNE DECYMALNY, BINARNY, OKTALNY. Warszawa pażdziernik 2017

MATEMATYKA W SZKOLE HELIANTUS WARSZAWA UL. BAŻANCIA 16 SYSTEMY LICZBOWE POZYCYJNE DECYMALNY, BINARNY, OKTALNY. Warszawa pażdziernik 2017 i MATEMATYKA W SZKOLE HELIANTUS 02-892 WARSZAWA UL. BAŻANCIA 16 SYSTEMY LICZBOWE POZYCYJNE DECYMALNY, BINARNY, OKTALNY Warszawa pażdziernik 2017 ii Contents 0.1 Wstȩp............................... 1 0.2

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

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

Algorytmy i struktury danych

Algorytmy i struktury danych Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Mariusz Różycki University of Cambridge Zajęcia będą mieć formę wykładową. Slajdy można znaleźć na stronie kursu: http://lw.mi.edu.pl/informatyka/algorytmy.

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10) 5.5. Wyznaczanie zer wielomianów 79 gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10) gdzie stopieñ wielomianu p 1(x) jest mniejszy lub równy n, przy

Bardziej szczegółowo

Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych

Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych 1/12 Opracowała Kozłowska Ewa ekozbelferek@poczta.onet.pl nauczyciel przedmiotów informatycznych Zespół Szkół Technicznych Mielec, ul. Jagiellończyka 3 Znajdowanie największego i najmniejszego elementu

Bardziej szczegółowo

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a); Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy

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

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. MIN 2015 KOD UZUPEŁNIA ZDAJĄCY PESEL miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ I DATA: 19

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem

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

y 1 y 2 = f 2 (t, y 1, y 2,..., y n )... y n = f n (t, y 1, y 2,..., y n ) f 1 (t, y 1, y 2,..., y n ) y = f(t, y),, f(t, y) =

y 1 y 2 = f 2 (t, y 1, y 2,..., y n )... y n = f n (t, y 1, y 2,..., y n ) f 1 (t, y 1, y 2,..., y n ) y = f(t, y),, f(t, y) = Uk lady równań różniczkowych Pojȩcia wsȩpne Uk ladem równań różniczkowych nazywamy uk lad posaci y = f (, y, y 2,, y n ) y 2 = f 2 (, y, y 2,, y n ) y n = f n (, y, y 2,, y n ) () funkcje f j, j =, 2,,

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

7. CIĄGI. WYKŁAD 5. Przykłady :

7. CIĄGI. WYKŁAD 5. Przykłady : WYKŁAD 5 1 7. CIĄGI. CIĄGIEM NIESKOŃCZONYM nazywamy funkcję określoną na zbiorze liczb naturalnych, dodatnich, a wyrazami ciągu są wartości tej funkcji. CIĄGIEM SKOŃCZONYM nazywamy funkcję określoną na

Bardziej szczegółowo

Indukcja matematyczna

Indukcja matematyczna Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy i Struktury Danych, 2. ćwiczenia Algorytmy i Struktury Danych, 2. ćwiczenia 2015-10-09 Spis treści 1 Szybkie potęgowanie 1 2 Liczby Fibonacciego 2 3 Dowód, że n 1 porównań jest potrzebne do znajdowania minimum 2 4 Optymalny algorytm do

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 4A/15 Liczby Fibonacciego Spośród ciągów zdefiniowanych rekurencyjnie, jednym z najsłynniejszych jest ciąg Fibonacciego (z roku 1202)

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Złożoność algorytmów. Wstęp do Informatyki

Złożoność algorytmów. Wstęp do Informatyki Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Zliczanie Podziałów Liczb

Zliczanie Podziałów Liczb Zliczanie Podziałów Liczb Przygotował: M. Dziemiańczuk 7 lutego 20 Streszczenie Wprowadzenie Przez podział λ nieujemnej liczby całkowitej n rozumiemy nierosnący ciąg (λ, λ 2,..., λ r ) dodatnich liczb

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

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15 Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 4A/15 Liczby Fibonacciego Spośród ciągów zdefiniowanych rekurencyjnie, jednym z najsłynniejszych jest ciąg Fibonacciego (z roku 1202)

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

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

Dwa równania kwadratowe z częścią całkowitą

Dwa równania kwadratowe z częścią całkowitą Dwa równania kwadratowe z częścią całkowitą Andrzej Nowicki Wydział Matematyki i Informatyki Uniwersytet M. Kopernika w Toruniu anow @ mat.uni.torun.pl 4 sierpnia 00 Jeśli r jest liczbą rzeczywistą, to

Bardziej szczegółowo