ASD Ćwiczenia 14: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rytter (dyskusja | edycje)
Rytter (dyskusja | edycje)
Linia 116: Linia 116:
<br>
<br>


Opiszemy operacje redukcji tekstu. Jeśli w zbiorze $X$ są teksty ua, vb, gdzie a,b są różnymi cyframi binarnymi  
Opiszemy operacje redukcji tekstu. Jeśli w zbiorze X są teksty ua, vb, gdzie a,b są różnymi cyframi binarnymi  
oraz u jest sufiksem v, to zastępujemy w X słowo vb przez słowo v.
oraz u jest sufiksem v, to zastępujemy w X słowo vb przez słowo v. Inaczej mówiąc wykonujemy operację:
<br>
 
''redukcja'': vb -> v
<br>


Algorytm wykonuje wszelkie redukcje póki się da (w dowolnym porządku). Jeśli otrzymamy słowo puste
Algorytm wykonuje wszelkie redukcje póki się da (w dowolnym porządku). Jeśli otrzymamy słowo puste

Wersja z 22:42, 20 gru 2006

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.

Rozwiązanie

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+12)SUMA(lcp)

Rozwiązanie


Zadanie 3

Wyprowadź wzór na |Subwords(Fn)|

Rozwiązanie


Zadanie 4

Niech lcp[k] = lcp[rank[k]1]. Udowodnij, że lcp[k]lcp[k1]1

Rozwiązanie

Zadanie 5

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

Rozwiązanie

Zadanie 6

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

Rozwiązanie


Zadanie 7

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

Rozwiązanie


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.

Rozwiązanie