Ćwiczenia

Zadanie 1

Dane są teksty x, y. Oblicz najdłuższy tekst \( z \) (oznaczany LCS(x,y) od ang. Longest Common Subword), który jest jednocześnie podsłowem x i y.

Zadanie 2

Niech \( lcp \) będzie tablicą najdłuższych wspólnych prefiksów dla słowa x oraz niech \( SUMA(lcp) \) będzie sumą elementów tablicy \( lcp \). Uzasadnij, dlaczego liczba wszystkich niepustych podsłów x wynosi

\( {n+1\choose{2}}-SUMA(lcp) \)

Zadanie 3

Wyprowadź wzór na \( |Subwords(F_n)| \)

Zadanie 4

Niech \( lcp'[k]\ =\ lcp[rank[k]-1] \). Udowodnij, że \( lcp'[k]\ge lcp'[k-1]-1 \)

Zadanie 5

Opisz liniowy algorytm obliczania tablicę ROT, przy założeniu, że mamy liniowy algorytm obliczania tablicy sufiksowej.

Zadanie 6

Pokaż, że jeśli mamy tablicę sufiksową dla słowa compress(x), to można łatwo obliczyć SUF[M] w czasie liniowym.

Zadanie 7

(Teksty-> Grafy) Dany jet zbiór tekstów długości dwa. Wyznaczyć długość minimalnego tekstu, zawierającego teksty wejściowe.

Zadanie 8

Dany jest zbiór X tekstów binarnych. Sprawdzić czy istnieje nieskończenie wiele słów binarnych nie zawierających żadnego elementu z X jako podsłowo.

Zadanie 9

Udowdnij, że dla słów Fibonacciego kończących się na literę 'a' tablica sufksowa jest postępem arytmetycznym modulo długość słowa.