Zaawansowane algorytmy i struktury danych/Ćwiczenia 1: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
|||
Linia 4: | Linia 4: | ||
Sprawdz w czasie liniowym czy słowo x jest pierwotne. | Sprawdz w czasie liniowym czy słowo x jest pierwotne. | ||
<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">. | ||
Za pomocą tablicy prefikso-sufiksów liczymy najkrótszy okres słowa x, | Za pomocą tablicy prefikso-sufiksów liczymy najkrótszy okres słowa x, | ||
następnie sprawdzamy czy jest on dzielnikiem długości x. | następnie sprawdzamy czy jest on dzielnikiem długości x. | ||
Można to nawet zrobic bez tablicy prefikso-sufiksów w czasei liniowym | Można to nawet zrobic bez tablicy prefikso-sufiksów w czasei liniowym | ||
i pamięci stałej. | i pamięci stałej. | ||
</div> | |||
</div> | </div> | ||
Wersja z 10:56, 12 wrz 2006
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 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 czasei oczekiwanym (średnim)
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
Rozwiązanie