Zaawansowane algorytmy i struktury danych/Ćwiczenia 14
Zadanie.
Jaka jest minimalna stała c taka, że dla każdego drzewa rozmiaru co najmniej 2 mamy
Rozwiązanie
c=2/3.
Zadanie.
Uzasadnij dlaczego .
Rozwiazanie.
Wynika to z rekurencji definiującej drzewa
Zadanie.
Udowdnij, że .
Rozwiązanie.
Wez statyczny liść v, dodatkowt korzeń r i zbuduj drzewo którego korzeniem jest r, następnikiem r jest korzeń , oraz dodatkowo korzeń ma syna v.
Zadanie.
Udowodnij indukcyjnie punkt (b) wzmocnionego lematu o kontrakcji.
Rozwiazanie.
Niech x będzie pierwszym węzłem na ścieżce ze statycznego węzła do korzenia takim, że .
Ponadto niech T1, T2 oraz T3 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, , oraz . Wtedy oraz .
Po (k-1)-szej redukcji drzewa T1 oraz T są zredukowane do jednego węzła z jednym statycznym liściem , dzięki założeniu indukcyjnemu (b) . Wszystkie węzły T3 stają się liśćmi po (k-2)-giej redukcji dzięki założeniu indukcyjnemu (b).
W konsekwencji po redukcji k-1 korze"n całego drzewa T ma jedynego następnika x' takiego, że x'=x lub . Następnie w k-tej redukcji korzeń ma jedyne dowiązanie do węzła statycznego v. Kończy to dow"od indukcyjny punktu (b).
Zadanie.
Przypuśćmy, że zmieniamy definicje kontrakcji. Najpierw wykonujemy Rake, a potem (po zakończeniu Rake) wykonujemy Compress. Udowodnij, że liczbą kontrakcji jest w dalszym ciągu .
Rozwiązanie.
Liczba zmodyfikowanych kontrakcji jest nie mniejsza niż liczba kontrakcji które opisujemy w module, a więc w dlaszym ciągu logarytmiczna.