1 Wst ep. 2 Algorytm. 2.1 Preprocessing

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

Download "1 Wst ep. 2 Algorytm. 2.1 Preprocessing"

Transkrypt

1 1 Wst ep Rozważamyproblemznajdowaniawszystkichwyst apień wzorca x o długości mwtekścieyodługościn.zakładamy,żemjestistotniemniejszeniżn,nie jest istotny dla nas czas preprocessingu wzorca x, lecz liczba porównań liter z tekstem y. Zakładamy również, że czytelnik jest obeznany z algorytmem Morrissa-Prattanawyszukiwaniewszystkichwyst apień wzorca w tekście. Algorytm Morrissa-Pratta wykonuje pesymistycznie około n porównań literztekstuxzliteramiztekstuy.jakoprzykładweźmyx=a m 1 b,y=a n. Wówczas algorytm Morrisa-Pratta, po porównaniu pierwszych m 1 liter a istwierdzeniu,żes a one zgodne, dla każdej kolejnej litery tekstu y: 1.b edziemiałzapami etane,żeznalazłjużm 1literwzorcax;.sprawdzi,żeaktualnaliteratekstuniepasujedowzorcax,tjy[i]= a b=x[m];.dokonaprzesuni eciazgodnieztablic a P wzorca x, najdłuższym presiksosufiksemsłowaa m 1 =x[1...m 1]jesta m ; 4. sprawdzi, że aktualna litera tekstu pasuje do wzorca x na pozycji m 1, tjy[i]=a=x[m 1]; 5.uaktualniinformacj e,żeznalazłjużm 1literwzorcaxiprzesuniesi e donast epnejliterytekstu. Wsumie,algorytmwykonan m+1porównań,coprzyzałożenium n jest bliskie n. Poniżej przedstawimy algorytm, który w pesymistycznym wypadkudokonuje nporównańtekstuzwzorcemprzypreprocessinguwzorca xwczasieo(n)ipami ecio(n).algorytmtenjestnieznaczn amodyfikacj a algorytmu Morrissa-Pratta. O tekście x zakładamy, że zawiera przynajmniej dwieróżnelitery;znajdowaniewyst apieńwzorcaa m wdokładnienporównaniachmamynadziej e,żenieprzedstawiaczytelnikowyżadnychproblemów. Algorytm.1 Preprocessing Otekściexchcemywiedziećnast epuj ace dwie rzeczy: 1.Chcemymiećskonstruowan atablic epwzorcax,t asam acoużywana jestwalgorytmiemorrissa-pratta;tjp[i]jestdługości a najdłuższego prefikso-sufiksusłowax[1...i]. 1

2 .Załóżmy,żepierwsz aliter asłowaxjesta,zaśpierwsz aróżn aoda liter asło waxjestbipierwszyrazwyst epujeonanapozycjik.innymisłowy,x[1...k]=a K 1 b.zauważmy,że K m.wtrakcie preprocessingutekstuxzapami etujemywartośćk. Zauważmy,żedlakażdegoi Kmamyi P[i] K,gdyżwiemy,że x[1...k]=a K 1 b:prefikso-sufikssłowazaczynaj acegosi edoa K 1 bmusi zaczynaćsi ezat aliter abwwyst apieniu jako sufiks.. Treśćalgorytmu Poniżej zamieszczamy pseudokod algorytmu: varl,i,j; procedure SPRAWDZ_LITERY_A; var s:integer; { fors:=(i+l)to(i+k-1)do ify[s]!= a then return false; return true; } procedure ZNAJDZ_WSZYSTKIE_WYSZUKANIA { L:=0;I:=1;J:=0; while(i<=n-m+1)do{ if(j=m-k+1)or(x[j+k]!=y[i+j+k-1])then{ if(j=m-k+1)andsprawdz_litery_athen ZNALEZIONO_WZORZEC(I); if(j=0)then{ L:=max(L-1,0); I:=I+1; }elseif(p[j+k-1]<=k-1)then{ L:=P[J+K-1]; I:=I+(J+K-1-P[J+K-1]); J:=0; }else{ L:=K-1; I:=I+(J+K-1-P[J+K-1]);

3 } } J:=P[J+K-1]-(K-1); } }else J:=J+1; ijużśpieszymygowyjaśnić.zmiennekolejnooznaczaj a: Aktualniestaramysi esprawdzić,czywzorzecwyst epujewtekściepoczynaj acodpozycjiitekstu. Wiemy,żeliteryx[K...K+J 1]si ezgadzaj aztekstemnatejpozycji, tjpierwszychj literpoczynaj acodpozycjikwzorcasi ezgadzaz tekstem. Wiemy,żeliteryx[1...L]si ezgadzaj aztekstemnatejpozycji,tj pierwszychlliterawzorcasi ezgadzaztekstem. Algorytmstarasi eznaleźćwzorzecwtekściepodobniejakalgorytm Morrissa-Pratta,alewpierwsprawdzaj acliteryodpozycjikwzorca(czyli pozycjek,k+1itd.).dopiero,jeśliwszystkiespasuj a,sprawdzapocz atkowe K 1litera,czypasuj a. Funkcja SPRAWDZ LITERY A sprawdza, czy litery a na pozycjach wzorca odl+1dok 1pasuj adotekstu. Tłumacz acdokładniej,algorytmwp etliwykonuje: Jeślijużznaleźliśmywszystkieliterywzorcapozapocz atkowymi literamia(j=m K+1)lubsprawdzamykolejn aliter einiepasuje (x[j+k] y[i+j+k 1])to: Jeśli to jest przypadek, że znaleźliśmy wszystkie litery wzorca od pozycjik,tosprawdzamybrakuj aceliteryaijesłisi ezgadzaj a, wypisujemy,żeznalezionowyst apienie. Niezależnieodtego,czyjestwyst apienie, czy właśnie litera wzorca nie spasowała, musimy wykonać odpowiednik przejścia przez tablic epwalgorytmiemorrissa-pratta.czyli: Jeśli nie było wcześniej żadnego spasowania(j = 0), to przesuwamysi edonast epnejpozycji(i:=i+1).jwci aż zostaje 0,zaśjeśliwcześniejwiedzieliśmy,żepasujenamLlitera napocz atkusłowa,toterazwiemytylkool 1literach przesun eliśmysi eojedenwprawo.

4 Jeśli było spasowanie, dokonujemy przejścia przez tabliće P jakwalgorytmiemorrissa-pratta,tj.nast epn amożliw apozycj adoszukaniawzorcajestj+k 1 P[J+K 1]. OtyleprzesuwamyI.Zauważyliśmyjuż,żetoprzesuni ecie b edziewynosiłoconajmniejk.wobectegowszystkielitery zpocz atkowychp[j+k 1]naszalgorytmjużsprawdził żepasuj a.jeślip[j+k 1] K 1,czylinaszawiedza obejmujetylkoliterya,zapami etujemyt ewiedz ewzmiennejliustawiamyjna0.jeśliwiemyowi ekszejilościliter, zapami etujemytowl(l:=k 1)iwJ. W przeciwnym przypadku, czyli jeśli nie znaleźliśmy jeszcze całego wzorcapopozycjik,akolejnaliterapasuje,poprostuzwi ekszamy Jojeden. Poprawnośćalgorytmu,czylito,żealgorytmznajdujewszystkiewyst apienia wzorca w tekście, jest oczywista algorytm sprawdza wszystkie możliwe acztablicy wyst apieniawzorcatakjakalgorytmmorrissa-pratta,korzystaj P.Wtymtekścieskupimysi enadowodzie,żetenalgorytmwykonujepesymistycznie nporównańwzorcaztekstem.. Dowód Wdowodziepoprawnościposłużmysi enast epuj ac anomenklatur a:napocz atku mamy nkrólików,zakażdeporównaniewzorcaztekstempłac ejednegokró- lika. Udowodni e,żewkażdymstaniemamprzynajmniej (n I J+1)+1 (K+(K L)+J) K= (n I+1) J 1 L królików.tonapocz atkuwynosi n.wstaniekońcowymn I J+1 K 1,aK+(K L)+J K,czyliliczbakrólikówwynosiconajmniej (K 1)+1 K K=K >0,cobyzakończyłodowód.Wystarczywykazać terazprzezindukcj e,żejeśliprzedkrokiemalgorytmumieliśmyprzynajmniej tyle królików, to po też. Rozpatrzmywi eckolejneprzypadkinaszegoalgorytmu: 1.Wprzypadku,gdyliterawzorcaspasowałanamsi ezliter atekstu, nast apiłojedyniezwi ekszeniejo1.zapłaciliśmyjednegokrólikaza porównanie, ale liczba wymaganych królików spadła o jeden. Czyli wszystkosi ezgadza. 4

5 .Wprzypadku,gdyliterawzorcaniespasowałasi ezliter a tekstu, ale J=0,wówczaszmieniliśmy:Isi ezwi ekszyłoo1,zaślzmniejszyło o jeden. Zapłaciliśmy jednego królika za porównanie, ale liczba wymaganychkrólikówteżspadłaojeden( zazwi ekszeniei,+1 za zmniejszenie L)..Wprzypadku,gdyliterawzorcaniespasowałasi ezliter a tekstu, ale J>1,wówczass adwapodprzypadki: GdyP[J+K 1] K 1,wówczaszmieniliśmy:J:=0,L:= P[J+K 1],I:=I+J+K 1 P[J+K 1].Policzmyzmian e liczby wymaganych królików: wzwi azkuzezmian aj:+j wzwi azkuzezmian al:+ 1(L P[J+K 1]) wzwi azkuzezmian ai: (J+K 1 P[J+K 1]) różnica wynosi J+ 1 (L P[J+K 1]) (J+K 1 P[J+K 1])= = 1 (J+K 1 P[J+K 1]) 1 (K 1 L) 1 (K 1 P[J+K 1]) 1 (J+K 1 P[J+K 1]), alejakjużzauważyliśmyj+k 1 P[J+K 1] K,to rórńica wynośi co najmniej 1, czyli mamy królika do zapłacenia za porównanie. WprzeciwnymprzypadkumamyL:=K 1,J:=P[J+K 1] K+1iI:=I+J+K 1 P[J+K 1].Policzmyzmian e liczby wymaganych królików: wzwi azkuzezmian aj:+j+k 1 P[J+K 1] wzwi azkuzezmian al: 1((K 1) L) wzwi azkuzezmian ai: (J+K 1 P[J+K 1]) różnicawynosi 1 (K 1 L) 1(J+K 1 P[J+K 1]),wi ec tak jak poprzednio mamy przynajmniej 1 królika na opłacenie tego porównania. 4.Wprzypadku,gdyznaleźliśmywyst apienie wzorca, wykonujemy K 1 Lporównańsprawdzaj ac,czyliteryazgadzaj asi ewtekściez 5

6 wzorcem,poczymwykonujemyprac etak asam a, jak w poprzednim punkcie. Zauważmy, że w pierwszym przypadku: 1 (J+K 1 P[J+K 1]) 1 (K 1 L) 1 (K 1 P[J+K 1]) Zaś w drugim przypadku: 1 K 1 (K 1 L) (K 1 L) 1 (K 1 L) 1 (J+K 1 P[J+K 1]) 1 (K 1 L) 1 K (K 1 L) Czyli w obu przypadkach wymagana liczba królików spada na tyle, że jesteśmy w stanie zapłacić za porównania. Czylizawszemamywymagan aliczb ekrólików,napocz atku wynosi ona n,nakońcujestnieujemna,czyliwykonujemymaksymalnie nporównań. 6

Algorytmy i struktury danych. wykład 8

Algorytmy i struktury danych. wykład 8 Plan wykładu: Kodowanie. : wyszukiwanie wzorca w tekście, odległość edycyjna. Kodowanie Kodowanie Kodowanie jest to proces przekształcania informacji wybranego typu w informację innego typu. Kod: jest

Bardziej szczegółowo

Wykład 6. Wyszukiwanie wzorca w tekście

Wykład 6. Wyszukiwanie wzorca w tekście Wykład 6 Wyszukiwanie wzorca w tekście 1 Wyszukiwanie wzorca (przegląd) Porównywanie łańcuchów Algorytm podstawowy siłowy (naive algorithm) Jak go zrealizować? Algorytm Rabina-Karpa Inteligentne wykorzystanie

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

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Wyszukiwanie wzorców w tekście 1 Wyszukiwanie wzorców w tekście Problem wyszukiwania wzorca w tekście Na tym wykładzie zajmiemy się

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

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

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może

Bardziej szczegółowo

1 abbbaabaaabaa -wzorzec: aaba

1 abbbaabaaabaa -wzorzec: aaba Algorytmy i złożoność obliczeniowa Laboratorium 14. Algorytmy tekstowe. 1. Algorytmy tekstowe Algorytmy tekstowe mają decydujące znaczenie przy wyszukiwaniu informacji typu tekstowego, ten typ informacji

Bardziej szczegółowo

Algorytmy zwiazane z gramatykami bezkontekstowymi

Algorytmy zwiazane z gramatykami bezkontekstowymi Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

Bardziej szczegółowo

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI Andrzej Jastrz bski Akademia ETI Wyszukiwanie wzorca Wyszukiwaniem wzorca nazywamy sprawdzenie, czy w podanym tekscie T znajduje si podci g P. Szukamy sªowa kot: Ala ma kota, kot ma ale. Algorytm naiwny

Bardziej szczegółowo

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI STYCZEŃ Arkusz I. Czas pracy: 60 minut Liczba punktów do uzyskania: 15

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI STYCZEŃ Arkusz I. Czas pracy: 60 minut Liczba punktów do uzyskania: 15 Organizatorzy: Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Oddział Kujawsko-Pomorski Polskiego Towarzystwa Informatycznego Centrum Kształcenia Ustawicznego TODMiDN w Toruniu

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

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

Pytanie 1. Pytanie 2. Pytanie 3. Przyporządkuj rozszerzenie nazwy pliku z jego poprawnym opisem: WOJEWÓDZKI KONKURS INFORMATYCZNY.

Pytanie 1. Pytanie 2. Pytanie 3. Przyporządkuj rozszerzenie nazwy pliku z jego poprawnym opisem: WOJEWÓDZKI KONKURS INFORMATYCZNY. WOJEWÓDZKI KONKURS INFORMATYCZNY PRZEPROWADZANY W SZKOŁACH PODSTAWOWYCH W ROKU SZK. 2018/2019 Etap wojewódzki Pytanie 1 Przyporządkuj rozszerzenie nazwy pliku z jego poprawnym opisem: Pytanie 2 Przykładem

Bardziej szczegółowo

Informatyka A. Algorytmy

Informatyka A. Algorytmy Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................

Bardziej szczegółowo

Temat: Algorytmy wyszukiwania wzorca w tekście

Temat: Algorytmy wyszukiwania wzorca w tekście Temat: Algorytmy wyszukiwania wzorca w tekście 1. Sformułowanie problemu Dany jest tekst T oraz wzorzec P, będące ciągami znaków o długości równej odpowiednio n i m (n m 1), nad pewnym ustalonym i skończonym

Bardziej szczegółowo

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Egzamin, AISDI, I termin, 18 czerwca 2015 r. Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział

Bardziej szczegółowo

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym. Rozdzia l 11 Przestrzenie Euklidesowe 11.1 Definicja, iloczyn skalarny i norma Definicja 11.1 Przestrzenia Euklidesowa nazywamy par e { X K,ϕ }, gdzie X K jest przestrzenia liniowa nad K, a ϕ forma dwuliniowa

Bardziej szczegółowo

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych

Bardziej szczegółowo

Krzysztof Jakubczyk. Zadanie 2

Krzysztof Jakubczyk. Zadanie 2 Zadanie 2 Krzysztof Jakubczyk Moje rozwiązanie nie znajduje strategii pozycyjnej w znaczeniu zdefiniowanym na wykładzie (niezaleŝnie od pozycji startowej), gdyŝ takowa nie istnieje. Przykład: 1 1 0 Środkowa

Bardziej szczegółowo

Algorytmy tekstowe na przykładzie KMP

Algorytmy tekstowe na przykładzie KMP Łukasz Kowalik, SD 2003 lgorytmy tekstowe na rzykładzie KMP 1 lgorytmy tekstowe na rzykładzie KMP Postawowe ojęcia Niech będzie dowolnym skończonym nieustym zbiorem symboli. Zbiór nazywamy alfabetem. Dowolny

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

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

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

Ekstrema funkcji wielu zmiennych.

Ekstrema funkcji wielu zmiennych. Ekstrema funkcji wielu zmiennych. Adam Kiersztyn Lublin 2013 Adam Kiersztyn () Ekstrema funkcji wielu zmiennych. kwiecień 2013 1 / 13 Niech dana b ¾edzie funkcja f (x, y) określona w pewnym otoczeniu punktu

Bardziej szczegółowo

2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4

2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4 Wykład: Sortowanie III Drzewa Turniejowe 1:9,8 2:8,7 3:9,4 4:7,3 5:8 6:9,2 7:4 8: 3 9:7 12:9 13:2 Insert(x,S) 1) tworzymy dwa nowe liście na ostatnim poziomie, 2) do jednego wstawiamy x a do drugiego wartość

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania

Bardziej szczegółowo

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli

Bardziej szczegółowo

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

EGZAMIN MATURALNY OD ROKU SZKOLNEGO EGZAMIN MATURALNY OD ROKU SZKOLNEGO 2014/2015 INFORMATYKA POZIOM ROZSZERZONY ROZWIĄZANIA ZADAŃŃ I SCHEMATY PUNKTOWANIA (A1, A2, A3, A4, A6, A7) GRUDZIEŃ 2013 Zadanie 1. Test (0 5) Wymagania ogólne I. [

Bardziej szczegółowo

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach

Bardziej szczegółowo

Podaj jaki jest wynik działania następującego algorytmu dla N = 6:

Podaj jaki jest wynik działania następującego algorytmu dla N = 6: 1. Podaj jaki jest wynik działania następującego algorytmu: FUNKCJA F(N) 1. Jeśli N = 0, podaj 1 jako wynik, 2. W przeciwnym przypadku podaj jako wynik N* F( N 1. ) 2. Podaj jaki jest wynik działania następującego

Bardziej szczegółowo

Ćwiczenie 6. Hurtownie danych

Ćwiczenie 6. Hurtownie danych Ćwiczenie 6. Hurtownie danych Drzewa decyzyjne 1. Reprezentacja drzewa decyzyjnego Metody uczenia si e drzew decyzyjnych to najcz eściej stosowane algorytmy indukcji symbolicznej reprezentacji wiedzy z

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

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację

Bardziej szczegółowo

Zadania przykładowe do kolokwium z AA2

Zadania przykładowe do kolokwium z AA2 1 Zadania przykładowe do kolokwium z AA2 Zadanie 1 Dla tekstu ALA MA KOTA ALE ON MA ALERGIĘ zilustruj działanie algorytmów: a) LZ77, b) LZ78, c) LZSS. Załóż, że maksymalna długość dopasowania to 4, rozmiar

Bardziej szczegółowo

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np. Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa

Bardziej szczegółowo

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym. ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów

Bardziej szczegółowo

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP Spotkania z Pythonem Cz ± 1 - podstawy - rozwi zania zada«michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike

Bardziej szczegółowo

Wprowadzenie do równań ró znicowych i ró zniczkowych.

Wprowadzenie do równań ró znicowych i ró zniczkowych. Wprowadzenie do równań ró znicowych i ró zniczkowych. Adam Kiersztyn Lublin 2013 Adam Kiersztyn () Wprowadzenie do równań ró znicowych i ró zniczkowych. maj 2013 1 / 11 Przyjmijmy nast ¾epuj ¾ace oznaczenia:

Bardziej szczegółowo

Algorytmy przeszukiwania wzorca

Algorytmy przeszukiwania wzorca Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Algorytmy przeszukiwania wzorca 1 Wstęp Algorytmy

Bardziej szczegółowo

Lab. 02: Algorytm Schrage

Lab. 02: Algorytm Schrage Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z

Bardziej szczegółowo

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)

Bardziej szczegółowo

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Nazwisko Imię album termin zajęć Marek Lewandowski 59817 Maciej Mietliński 59832 poniedziałek 18:30 tydzień nieparzysty

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

Laboratorium nr 7 Sortowanie

Laboratorium nr 7 Sortowanie Laboratorium nr 7 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) Materiały Wyróżniamy następujące metody sortowania: 1. Przez prostą zamianę

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

Wykład 5. Sortowanie w czasie liniowologarytmicznym

Wykład 5. Sortowanie w czasie liniowologarytmicznym Wykład 5 Sortowanie w czasie liniowologarytmicznym 1 Sortowanie - zadanie Definicja (dla liczb): wejście: ciąg n liczb A = (a 1, a 2,, a n ) wyjście: permutacja (a 1,, a n ) taka, że a 1 a n 2 Zestawienie

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Wyznaczniki, macierz odwrotna, równania macierzowe

Wyznaczniki, macierz odwrotna, równania macierzowe Wyznaczniki, macierz odwrotna, równania macierzowe Adam Kiersztyn Katolicki Uniwersytet Lubelski Jana Paw a II Lublin 013 Adam Kiersztyn (KUL) Wyznaczniki, macierz odwrotna, równania macierzowe marzec

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

Jeśli nie potrafisz wytłumaczyć czegoś w prosty sposób, to znaczy, że tak naprawdę tego nie rozumiesz

Jeśli nie potrafisz wytłumaczyć czegoś w prosty sposób, to znaczy, że tak naprawdę tego nie rozumiesz II Liceum Ogólnokształcące im. Mikołaja Kopernika w Lesznie z Oddziałami Dwujęzycznymi i Międzynarodowymi ul. Prusa 33, 64-100 Leszno Jeśli nie potrafisz wytłumaczyć czegoś w prosty sposób, to znaczy,

Bardziej szczegółowo

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Operatory logiczne Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Podstawowe

Bardziej szczegółowo

Programowanie dynamiczne (optymalizacja dynamiczna).

Programowanie dynamiczne (optymalizacja dynamiczna). Programowanie dynamiczne (optymalizacja dynamiczna). W wielu przypadkach zadania, których złożoność wynikająca z pełnego przeglądu jest duża (zwykle wyk ładnicza) można rozwiązać w czasie wielomianowym

Bardziej szczegółowo

Majchrzak Karolina Lewandowski Norbert

Majchrzak Karolina Lewandowski Norbert Majchrzak Karolina Lewandowski Norbert Współczesne komputery oprócz liczb przetwarzają również teksty. Teksty zbudowane są z ciągów znakowych, które możemy traktować jako tablice znaków dostęp do poszczególnych

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

Programowanie równoległe

Programowanie równoległe Programowanie równoległe ELEMENTARNE ALGORYTMY (PODSTAWA: Z.CZECH. WPROWADZENIE DO OBLICZEŃ RÓWNOLEGŁYCH. PWN, 2010) Andrzej Baran baran@kft.umcs.lublin.pl Charakterystyka ilościowa algorytmów Przez algorytm

Bardziej szczegółowo

Zadanie analizy leksykalnej

Zadanie analizy leksykalnej Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

O zgodności procedur jednoczesnego testowania zastosowanych do problemu selekcji zmiennych w modelu liniowym

O zgodności procedur jednoczesnego testowania zastosowanych do problemu selekcji zmiennych w modelu liniowym O zgodności procedur jednoczesnego testowania zastosowanych do problemu selekcji zmiennych w modelu liniowym Konrad Furmańczyk Katedra Zastosowań Matematyki SGGW Wis a 2010 Plan referatu 1. Modele liniowe

Bardziej szczegółowo

Wstęp do programowania. Stosy i kolejki. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Stosy i kolejki. Piotr Chrząstowski-Wachtel Wstęp do programowania Stosy i kolejki Piotr Chrząstowski-Wachtel Stosy Stosy elementów ze zbioru A, to struktury danych, które umożliwiają wykonanie następujących operacji i funkcji {var x:typa; s:stack

Bardziej szczegółowo

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej.

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej. Wykład 5_3 Sortowanie zewnętrzne - c.d. 3. Algorytm sortowania za pomocą łączenia polifazowego 4. Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych 5. Podsumowanie

Bardziej szczegółowo

Wstęp do informatyki Ćwiczenia. Piotr Fulmański

Wstęp do informatyki Ćwiczenia. Piotr Fulmański Wstęp do informatyki Ćwiczenia Piotr Fulmański Piotr Fulmański 1 e-mail 1: fulmanp@math.uni.lodz.pl Wydział Matematyki i Informatyki, Uniwersytet Łódzki Banacha 22, 90-238, Łódź Polska Data ostaniej modyfikacji:

Bardziej szczegółowo

ANALIZA PORÓWNAWCZA ALGORYTMÓW WYSZUKIWANIA WZORCA W TEKŚCIE

ANALIZA PORÓWNAWCZA ALGORYTMÓW WYSZUKIWANIA WZORCA W TEKŚCIE STUDIA INFORMATICA 2013 Volume 34 Number 1 (110) Jacek WIDUCH Politechnika Śląska, Instytut Informatyki ANALIZA PORÓWNAWCZA ALGORYTMÓW WYSZUKIWANIA WZORCA W TEKŚCIE Streszczenie. Jednym z problemów związanych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Kontrola przebiegu programu

Kontrola przebiegu programu Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem

Bardziej szczegółowo

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

Czas pracy: 60 minut

Czas pracy: 60 minut EGZAMIN MATURALNY OD ROKU SZKOLNEGO 2014/2015 INFORMATYKA POZIOM ROZSZERZONY ARKUSZ I PRZYKŁADOWY ZESTAW ZADAŃ DLA OSÓB SŁABOSŁYSZĄCYCH (A3) WYBRANE:... (środowisko)... (kompilator)... (program użytkowy)

Bardziej szczegółowo

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). INFORMATYKA kl. II gimnazjum Krzysztof Gładkowski TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). Czas: 2godz. Przygotowanie środowiska. Pomoce dydaktyczne. Oprogramowanie środowisko

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

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A

Bardziej szczegółowo

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Symulowane wyżarzanie Maciej Hapke maciej.hapke at put.poznan.pl Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne zmniejszanie

Bardziej szczegółowo

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola: Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

Bardziej szczegółowo

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Modelowanie złożonych układów cyfrowych (1)

Modelowanie złożonych układów cyfrowych (1) Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe

Bardziej szczegółowo

Zadanie 1. Zadanie 2. Zadanie 3. Zadanie 4. Zadanie 5. Zadanie 6. Zadania przykładowe do pierwszego kolokwium z AA

Zadanie 1. Zadanie 2. Zadanie 3. Zadanie 4. Zadanie 5. Zadanie 6. Zadania przykładowe do pierwszego kolokwium z AA 1 Zadania przykładowe do pierwszego kolokwium z AA Zadanie 1 Rozwiąż metodą czynnika sumacyjnego układ równań (wyznacz T (n) jako funkcję n): { T (0) = dla n = 0 T (n) = nt (n 1) + n! dla n > 0 Zadanie

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Podstawy programowania Paweł Daniluk Wydział Fizyki Jesień 2012 P. Daniluk (Wydział Fizyki) PO w. II Jesień 2012 1 / 28 Strona wykładu http://bioexploratorium.pl/wiki/

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w

Bardziej szczegółowo

SCHEMAT OCENIANIA poziom rozszerzony arkusz II

SCHEMAT OCENIANIA poziom rozszerzony arkusz II SCHEMAT OCENIANIA poziom rozszerzony arkusz II Zadanie - Organizationally Unique Identifier Prawidłowe zaimportowanie danych do przetwarzania. Uwaga: Prawidłowe zaimportowanie można uzyskać np. przez użycie

Bardziej szczegółowo

Składnia funkcji i Rekurencja w języku Haskell

Składnia funkcji i Rekurencja w języku Haskell Składnia funkcji i w języku Haskell Tomasz Ostrowski, Adrian Niechciał, Michał Workiewicz, Marcin Wilk 26 marca 2015 Składnia funkcji i w języku Haskell Spis treści Składnia funkcji Tomasz Ostrowski Adrian

Bardziej szczegółowo

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem

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

Lista 4. Kamil Matuszewski 10 maja 2016

Lista 4. Kamil Matuszewski 10 maja 2016 Lista 4 Kamil Matuszewski 10 maja 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm najtańszego przejścia przez tablicę, przy założeniu, że z pola (i, j) możemy przejść na (i + 1, j), (i 1, j), (i 1, j

Bardziej szczegółowo

Drzewa poszukiwań binarnych

Drzewa poszukiwań binarnych 1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Algorytmy i Struktury Danych. (c) Marcin Sydow. Introduction. QuickSort. Sortowanie 2. Limit. CountSort. RadixSort. Summary

Algorytmy i Struktury Danych. (c) Marcin Sydow. Introduction. QuickSort. Sortowanie 2. Limit. CountSort. RadixSort. Summary Sortowanie 2 Zawartość wykładu: Własność stabilności algorytmów sortujących algorytm sortowania szybkiego () czy można sortować szybciej niż ze złożonością Θ(n log(n))? algorytm sortowania przez zliczanie

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo