Czy istnieje formalna definicja średniej wysokości drzewa binarnego?
Mam pytanie instruktażowe dotyczące znalezienia średniej wysokości drzewa binarnego przy użyciu następujących dwóch metod:
Naturalnym rozwiązaniem może być przyjęcie średniej długości wszystkich możliwych ścieżek od korzenia do liścia
.
Inną opcją jest zdefiniowanie go rekurencyjnie, to znaczy średnia wysokość dla węzła to średnia ponad średnich wysokości poddrzewa plus jeden, to znaczy
z dla liści oraz dla pustych miejsc.
Na podstawie mojego obecnego zrozumienia, na przykład średniej wysokości drzewa
1
/ \
2 3
/
4
jest według drugiej metody, która wykorzystuje rekurencję.
Nadal jednak nie rozumiem, jak zrobić ten pierwszy. jest niepoprawny.
graph-theory
terminology
combinatorics
binary-trees
Ponadczasowy
źródło
źródło
Odpowiedzi:
Nie ma powodu sądzić, że obie definicje opisują tę samą miarę. Możesz rekurencyjnie napisać avh 1 :avh1
z dla liści l . Jeśli nie wierzysz, że to jest to samo, rozwiń definicję avh 1 po prawej stronie lub wykonaj dowód indukcyjny.avh1( l ) = 0 l avh1
Teraz widzimy, że działa zupełnie inaczej niż avh 2 . Podczas gdy avh 2 waży równomiernie wysokości rekurencyjne dzieci węzłów (dodając i dzieląc przez dwa), avh 1 waży je zgodnie z liczbą zawartych w nich liści. Są więc takie same (modulo the anchor) dla drzew zrównoważonych liśćmi, co jest zrównoważone w tym sensie, że rodzeństwo ma tyle samo liści. Jeśli uprościsz rekurencyjną formę avh 1 za pomocą lv ( l ) = lv ( r )avh1 avh2) avh2) avh1 avh1 lv( l ) = lv( r ) jest to natychmiast widoczne. Jednak na niezrównoważonych drzewach są one inne.
Twoje obliczenia są rzeczywiście poprawne (biorąc pod uwagę Twoją definicję); zauważ, że przykładowe drzewo nie jest zrównoważone liśćmi.
źródło
Edycja: Jeffe ma rację w swoim komentarzu powyżej. Prawdopodobnie powinieneś przeczytać „poprawny kontra nieprawidłowy” w następującej odpowiedzi jako „wygodny / spójny kontra niespójny”.
Wygląda na to, że twoje drugie obliczenie jest nieprawidłowe. Niech wysokość poddrzewa z pojedynczym węzłem (tj. Liściem) będzie wynosić 0. Następnie wysokość korzenia poddrzewa przy:
Myślę, że poprawnie wykonujesz pierwsze obliczenia, a 1.5 to właściwa odpowiedź.
źródło