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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dorota (dyskusja | edycje)
Nie podano opisu zmian
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 3: Linia 3:
Jaka jest minimalna stała <math>c</math> taka, że dla każdego drzewa rozmiaru co najmniej 2 mamy
Jaka jest minimalna stała <math>c</math> taka, że dla każdego drzewa rozmiaru co najmniej 2 mamy


<center><math> |Contract(T)| \le c\cdot |T| </math> </center>
<center><math>|Contract(T)| \le c\cdot |T|</math> </center>


<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">
Linia 14: Linia 14:
== Zadanie 2 ==
== Zadanie 2 ==


Uzasadnij, dlaczego <math>|T_k|=Fib_k<math> oraz <math> Contract(T_k)=T_{k-1}</math>.
Uzasadnij, dlaczego <math>|T_k|=Fib_k<math>oraz <math>Contract(T_k)=T_{k-1}</math>.


<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiazanie'''  <div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiazanie'''  <div class="mw-collapsible-content" style="display:none">


Wynika to z rekurencji definiującej drzewa <math> T_k </math>
Wynika to z rekurencji definiującej drzewa <math>T_k</math>
</div>
</div>
</div>
</div>
Linia 24: Linia 24:
== Zadanie 3 ==
== Zadanie 3 ==


Udowodnij, że <math> TIME'(Fib_k+1)>k</math>.
Udowodnij, że <math>TIME'(Fib_k+1)>k</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">.  


Weź statyczny liść <math>v</math>, dodatkowo korzeń <math>r</math> i zbuduj drzewo, którego korzeniem jest <math>r</math>, następnikiem <math>r</math> jest korzeń <math> T_p</math>,  
Weź statyczny liść <math>v</math>, dodatkowo korzeń <math>r</math> i zbuduj drzewo, którego korzeniem jest <math>r</math>, następnikiem <math>r</math> jest korzeń <math>T_p</math>,  
oraz dodatkowo korzeń <math> T_p </math>
oraz dodatkowo korzeń <math>T_p</math>
ma syna <math>v</math>.
ma syna <math>v</math>.
</div>
</div>
Linia 43: Linia 43:
<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">


Niech <math>x</math> będzie pierwszym węzłem na ścieżce ze statycznego węzła do korzenia takim, że <math> |T_x|\ge
Niech <math>x</math> będzie pierwszym węzłem na ścieżce ze statycznego węzła do korzenia takim, że <math>|T_x|\ge
FIB_{k-1}</math>.  
FIB_{k-1}</math>.  


Ponadto niech  <math>T1, T2</math> oraz <math>T3</math> będą drzewami zdefiniowanymi następująco:  
Ponadto niech  <math>T1, T2</math> oraz <math>T3</math> będą drzewami zdefiniowanymi następująco:  
T1 jest równy T z węzłem x jako statyczny liść (z obciętymi poddrzewami o korzeniach p,q,
T1 jest równy T z węzłem x jako statyczny liść (z obciętymi poddrzewami o korzeniach p,q,
<math> T2 = T_p\otimes x</math>, oraz <math> T3= T_q </math>.
<math>T2 = T_p\otimes x</math>, oraz <math>T3= T_q</math>.
Wtedy  <math>|T1|, |T2| \le FIB_{k-1}</math>  oraz <math> |T3| < FIB_{k-1}</math>.  
Wtedy  <math>|T1|, |T2| \le FIB_{k-1}</math>  oraz <math>|T3| < FIB_{k-1}</math>.  


Po <math>(k-1)</math>-szej redukcji drzewa  T1 oraz T są
Po <math>(k-1)</math>-szej redukcji drzewa  T1 oraz T są
Linia 56: Linia 56:


W konsekwencji, po redukcji  k-1 korzeń całego drzewa T ma jedynego następnika <math>x'</math> takiego, że <math>x'=x</math> lub
W konsekwencji, po redukcji  k-1 korzeń całego drzewa T ma jedynego następnika <math>x'</math> takiego, że <math>x'=x</math> lub
<math> x'\in T_p</math>. Następnie w k-tej redukcji korzeń ma jedyne dowiązanie do węzła statycznego <math>v</math>. Kończy to
<math>x'\in T_p</math>. Następnie w k-tej redukcji korzeń ma jedyne dowiązanie do węzła statycznego <math>v</math>. Kończy to
dowód indukcyjny punktu (b).
dowód indukcyjny punktu (b).
</div>
</div>
Linia 66: Linia 66:


Przypuśćmy, że zmieniamy definicje kontrakcji. Najpierw wykonujemy Rake, a potem (po zakończeniu Rake) wykonujemy Compress.
Przypuśćmy, że zmieniamy definicje kontrakcji. Najpierw wykonujemy Rake, a potem (po zakończeniu Rake) wykonujemy Compress.
Udowodnij, że liczba kontrakcji jest w dalszym ciągu <math> O(\log n)</math>.
Udowodnij, że liczba kontrakcji jest w dalszym ciągu <math>O(\log n)</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">.

Aktualna wersja na dzień 22:16, 11 wrz 2023

Zadanie 1

Jaka jest minimalna stała c taka, że dla każdego drzewa rozmiaru co najmniej 2 mamy

|Contract(T)|c|T|
Rozwiązanie


Zadanie 2

Uzasadnij, dlaczego |Tk|=Fibk<math>oraz<math>Contract(Tk)=Tk1.

Rozwiazanie

Zadanie 3

Udowodnij, że TIME(Fibk+1)>k.


Rozwiązanie


Zadanie 4

Udowodnij indukcyjnie punkt (b) wzmocnionego lematu o kontrakcji.

Rozwiązanie


Zadanie 5

Przypuśćmy, że zmieniamy definicje kontrakcji. Najpierw wykonujemy Rake, a potem (po zakończeniu Rake) wykonujemy Compress. Udowodnij, że liczba kontrakcji jest w dalszym ciągu O(logn).

Rozwiązanie