Zaawansowane algorytmy i struktury danych/Ćwiczenia 1: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu - "\ =\" na "="
m Zastępowanie tekstu – „ </math>” na „</math>”
Linia 27: Linia 27:
z takim samym prawdopodobieństwem 1/2.
z takim samym prawdopodobieństwem 1/2.


Skonstruuj algorytm, który będzie szukał wzorca <math>x</math> w czasie oczekiwanym (średnim) <math> O(\frac{n\cdot m}{\log m}) </math>
Skonstruuj algorytm, który będzie szukał wzorca <math>x</math> w czasie oczekiwanym (średnim) <math> O(\frac{n\cdot m}{\log m})</math>


<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  <div class="mw-collapsible-content" style="display:none">.
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  <div class="mw-collapsible-content" style="display:none">.

Wersja z 11:02, 5 wrz 2023

Zadanie 1

Sprawdz w czasie liniowym, czy słowo x jest pierwotne.

Rozwiązanie

Zadanie 2

Pokaż redukcję w czasie liniowym problemu liczenia tablicy PREF do liczenia tablicy P

Rozwiązanie

Zadanie 3

Załóżmy, że wzorzec x jest ustalony, ma długość m, a tekst y, w którym szukamy x, jest losowym tekstem długości n, alfabet zaś jest binarny. Każdy symbol jest zerem lub jedynką niezależnie, z takim samym prawdopodobieństwem 1/2.

Skonstruuj algorytm, który będzie szukał wzorca x w czasie oczekiwanym (średnim) O(nmlogm)

Rozwiązanie

Zadanie 4

Udowdnij, że w modelu takim, jak w poprzednim zadaniu, algorytm BM nie ma złożoności oczekiwanej rzędu mniejszego niż liniowy.

Rozwiązanie

Zadanie 5

Pokaż, że jeśli cn jest górnym oszacowaniem liczby porównań w algorytmie BM (dla dostatecznie dużych n) to c3

Rozwiązanie