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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dorota (dyskusja | edycje)
Nie podano opisu zmian
Rytter (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
==Zadanie 1==
==Zadanie 1==
Udwodnij, że jeśli <math> LZ(x)\ =\ (v_{1},v_{2},\dots ,v_{m})</math>, to <math>x</math> zawiera powtórzenie <math>uu</math>
wtedy i tylko wtedy, gdy dla pewnego <math>k</math> zachodzi


<center>
<math> RightTest(v_1, v_2\ldots v_{k-2},\ v_{k-1}v_k lub Righttest(v_1, v_2\ldots v_{k-1},\ v_k) </math></center>
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  <div class="mw-collapsible-content" style="display:none">.
Jeśli środek powtórzenia byłby wcześniej, <math> v_k </math> nie występowałoby w faktoryzacji.
</div>
</div>
== Zadanie 2 ==
Oblicz faktoryzację LZ(x) w czasie liniowym.
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  <div class="mw-collapsible-content" style="display:none">.
Skorzystaj z drzewa sufiksowego z dodatkową informacją w węzłach.
</div>
</div>
== Zadanie 3 ==
Udowodnij, że algorytm Szukanie-Powtórzeń działa w czasie liniowym.
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  <div class="mw-collapsible-content" style="display:none">.
Złożoność liczenia alternatywy RightTest(u1,v1) lub RightTest(u2,v2) jest <math> O(|v_{k-1}v_k|)</math> oraz zachodzi
<math> \sum_{k=1}^m\ |v_{k-1}v_k| \le 2n </math> </div>
</div>


== Zadanie 4 ==
== Zadanie 4 ==

Wersja z 16:28, 30 gru 2010

Zadanie 1

Zadanie 4

Udowodnij własność parzystych palstarów:

x[i..n]PAL0*  parse0(i)=first0(i)

Rozwiązanie

Zadanie 5

Udowodnij własność dowolnych palstarów:

x[i..n]PAL*  parse(i){first(i), 2first(i)+1, 2first(i)1}

Rozwiązanie


Zadanie 6

Udowodnij, że jeśli xPAL2 to x=uv dla pewnych <mtah> u,v \in PAL </math>, gdzie u jest najdłuższym palindromem będącym prefiksem x lub v jest najdłuższym palindromem będącym sufiksem x.

Rozwiązanie