drzewa binarne cd - rekursja

h0bbit
Użytkownik
Użytkownik
Posty: 9
Rejestracja: 10 gru 2007, o 15:19
Płeć: Mężczyzna
Podziękował: 4 razy

drzewa binarne cd - rekursja

Post autor: h0bbit »

Niech \(\displaystyle{ node = (e, left, right)}\) będzie strukturą danych reprezentującą węzeł drzewa binarnego \(\displaystyle{ T}\) w taki sposób, że \(\displaystyle{ e \in N}\) jest etykietą rozważanego węzła, a \(\displaystyle{ left}\) i \(\displaystyle{ right}\) reprezentują odpowiednio krawędź (dowiązanie) do lewego i prawego następnika wierzchołka z etykietą \(\displaystyle{ e}\) w drzewie \(\displaystyle{ T}\). Rozważmy następujący algorytm (NULL oznacza brak węzła):

Kod: Zaznacz cały


Alg(node) = {
       if node = NULL then return 0;
       else return Alg(node.left) + Alg(node.right) + node.e; fi
}.

Kolejno:
(a) narysuj drzewo wywołań rekurencyjnych algorytmu Alg(root), gdzie root jest wierzchołkiemkorzeniem
drzewa binarnego T,
(b) ustal rezultat działania algorytmu Alg(root),
(c) oszacuj asymptotycznie liczbe operacji dodawania wzgledem liczby wierzchołków drzewa binarnego T.
ODPOWIEDZ