Dowód na głębokości zrównoważonego drzewa wyszukiwania

głosy
2

Jeśli T jest zrównoważony BST z elementami N, L swoje lewe poddrzewo i R swoją właściwą, w jaki sposób mogę udowodnić, że jego głębokość jest mniejsza lub równa 2log (n) + 1?

Jest to dowód przez indukcję, które mam, ale nie rozumiem.

(Rozumiem, że stackoverflow jest głównie programowanie zorientowane ale znalazłem kilka pytań na temat binarne drzewo poszukiwań i postanowił spróbować, mam nadzieję, że nie robię coś nie dobrego. :))

Utwórz 08/11/2009 o 00:38
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

Przez określenie „zrównoważony”, głębi każdego lewego i prawego poddrzewa tego samego węzła różnią się co najwyżej o jeden. „Głębokość” jest zwykle definiowany jako „liczby kroku najdłuższej odległości od korzenia drzewa w dół do liścia”, a więc na przykład BST z jednego korzenia i dwóch liści (trzy elementy w jedyny sposób, mogą one być umieszczone w sposób zrównoważony BST) jest mówi się, że głębokość jeden (wygląda używasz nieco inną definicję, która dałaby mu głębokość dwa?), podobnie jak jeden z jednego korzenia i jednego liścia (czy liść jest w lewo lub w prawo subtree korzenia sprawia, że ​​nie ma różnicy), natomiast jeden tylko z korzenia, który jest również liść (pojedynczy element) musiałby głębokość 0. (nie ma BST zero elementów).

Tak więc dla n <= 3 elementy, połączenia D (n) głębokość drzewa takie jak określono powyżej, wyraźnie D(n) < log(n) + 1(z logznaczenia bazowego 2 logarytmu) od kontroli, ponieważ 1 = D(2) < log(2) + 1 = 2(a także 1 = D(3)dla których RHS nierówności, log(3) + 1jest w rzeczywistości > 2) i 0 = D(1) < log(1) + 1 = 1- to daje nam podstawy indukcji.

Aby zakończyć dowód przez indukcję Musimy pokazać, że jeśli D(k) < log(k) + 1dla wszystkich k < n, to również wynika, że D(n) < log(n) + 1.

Jeśli n jest nieparzyste, wyraźnie w lewo i prawo subtree mieć (n-1)/2elementy każda, a drzewo ma głębokość 1 więcej niż poddrzew; a następnie D(n) = 1 + D((n-1)/2) < 1 + 1 + log((n-1)/2)(przy założeniu, indukcja) = 1 + log(n-1)(od log((n-1)/2) = log(n-1) - 1), a więc tym bardziej < 1 + log(n), QED.

Jeśli njest jeszcze postępować tak samo kroki z log(n)zamiast log(n-1)i bez „a fortiori” Zakończ, a dowodem na wciąż trzyma.

Odpowiedział 08/11/2009 o 01:37
źródło użytkownik

głosy
0

Twoja odpowiedź jest prawdziwa, czy Balanced drzewo binarne jest pełna liczba elementów w prawo i drzewa lewej sub może być (n-1) / 2, ale jeśli to nie jest kompletne, liczba elementów nie muszą być (n-1) / 2 jako ostatni poziom może mieć różne elementy

Odpowiedział 04/08/2016 o 16:10
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more