1 Wst ep. 2 Algorytm. 2.1 Preprocessing
|
|
- Michalina Łuczak
- 7 lat temu
- Przeglądów:
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
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ółowoWykł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ółowoZadanie 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ółowoWstę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ółowoAnaliza 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ółowoWstę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ółowoProgramowanie 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ółowoAlgorytmy 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ółowo1 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ółowoAlgorytmy 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ółowoInformatyka 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ółowoAlgorytmy 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ółowoPRÓ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ółowoprowadzą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ółowoAnaliza 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ółowoPytanie 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ółowoInformatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
Bardziej szczegółowoTemat: 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ółowoEgzamin, 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ółowoRozdzia 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ółowoAnaliza 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ółowoKrzysztof 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ółowoAlgorytmy 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ółowoAlgorytmy 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ółowoJava 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ółowoINSTRUKCJA 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ółowo20. 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ółowoPodstawowe 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ółowoEkstrema 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ółowo2: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ółowoAlgorytmy 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ółowoWstę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ółowoEGZAMIN 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ółowoWstę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ółowoPodaj 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 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ółowoStrategia "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ółowoMatematyka 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ółowoZadania 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ółowoDrzewa 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ółowoZestaw 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ółowoDzi 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ółowoWprowadzenie 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ółowoAlgorytmy 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ółowoLab. 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ółowoAnaliza 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ółowoLaboratorium 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ółowoSQL, 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ółowoPrzeszukiwanie 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ółowoLaboratorium 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ółowoLaboratorium 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ółowoAlgorytmy 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ółowoWykł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ółowoALGORYTMY. 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ółowoPodstawy 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ółowoWyznaczniki, 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ółowoProgramowanie 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ółowoJeś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ółowoOperatory 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ółowoProgramowanie 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ółowoMajchrzak 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ółowoZaawansowane 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ółowoProgramowanie 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ółowoZadanie 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ółowoALGORYTMY. 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ółowoO 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ółowoWstę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ółowoDefinicja: 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ółowoWstę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ółowoANALIZA 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ółowoWstę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ółowoKontrola 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ółowoKiedy 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ółowoCzas 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ółowoTEMAT: 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ółowoRó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ółowoInformatyka 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ółowoCzym 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ółowoTechniki 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ółowoDrzewo. 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ółowoPorzą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ółowoZadania 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ółowoModelowanie 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ółowoZadanie 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ółowoProgramowanie 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ółowoPodstawy 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ółowoSCHEMAT 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ółowoSkł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 Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Bardziej szczegółowoPrzydatne 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ółowoPodziaª 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ółowoWykł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ółowoLista 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ółowoDrzewa 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ółowoWstę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ółowo4. 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ółowoAlgorytmy 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ółowoAlgorytmy 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ółowoWprowadzenie 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