Próbuję udowodnić, że drzewo binarne z węzłami ma co najwyżej ⌈ nliści. Jak miałbym to robić z indukcją?
Dla osób, które śledziły pierwotne pytanie o stosy, zostało tu przeniesione .
Próbuję udowodnić, że drzewo binarne z węzłami ma co najwyżej ⌈ nliści. Jak miałbym to robić z indukcją?
Dla osób, które śledziły pierwotne pytanie o stosy, zostało tu przeniesione .
Odpowiedzi:
Zakładam teraz, że pytanie jest następujące:
Pracujmy z definicją drzewa . Do T takiego drzewa, niech n T liczba węzłów T i L T liczba liści T .Tree=Empty∣Leaf∣Node(Tree,Tree) T nT T lT T
Masz rację, robiąc to indukcyjnie, ale potrzebujesz indukcji strukturalnej, która podąża za strukturą drzewa. W przypadku drzew jest to często wykonywane jako całkowita indukcja powyżej wysokości drzew.h(T)
Kotwica indukcyjna składa się z dwóch części. Po pierwsze, dla mamy T = E m p t y z l T = n T = 0 ; roszczenie wyraźnie odnosi się do pustego drzewa. Dla h ( t ) = 1 , tj. T = L e a f , podobnie mamy l T = 1 = ⌈ n Th(t)=0 T=Empty lT=nT=0 h(t)=1 T=Leaf , więc roszczenie dotyczy liści.lT=1=⌈nT2⌉
Hipoteza indukcyjna jest następująca: Załóżmy, że twierdzenie dotyczy wszystkich (binarnych) drzew z h ( T ) ≤ k , k ≥ 1 arbitralnie, ale ustalone.T h(T)≤k k≥1
W kroku indukcyjnym rozważ dowolne drzewo binarne z h ( T ) = k + 1 . A k ≥ 1 , T = N O d e ( L , R ) , a n , T = n L + n R + 1 . Ponieważ L i R są również drzewami binarnymi (inaczej T nie byłby) i h ( L ) , h (T h(T)=k+1 k≥1 T=Node(L,R) nT=nL+nR+1 L R T h(L),h(R)≤k , the induction hypothesis applies and have
As all leaves ofT are either in L or R , we have that
The inequality marked with(∗) can be checked by (four way) case distinction over whether nL,nR∈2N . By the power of induction, this concludes the proof.
As an exercise, you can use the same technique to prove the following statements:
źródło
I am a little confused by the question. If you are interested in trees with degree at most3 , which is what Wikipedia says you want, then we run into the problem that a single edge has n=2 nodes and n=2 leaves, but n/2=1 . Anyway, here is something close that has an easy argument.
LetT be such a tree with n nodes and L leaves. Since T is a tree, there are n−1 edges, and double counting them, we see that
źródło