Zaawansowane algorytmy i struktury danych/Ćwiczenia 14: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>” |
m Zastępowanie tekstu – „<math> ” na „<math>” |
||
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 taka, że dla każdego drzewa rozmiaru co najmniej 2 mamy
Rozwiązanie
Zadanie 2
Uzasadnij, dlaczego .
Rozwiazanie
Zadanie 3
Udowodnij, że .
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 .
Rozwiązanie