Udowodnić, że najdłuższa ścieżka od korzenia do liścia w dowolnym drzewie binarnym o n wierzchołkach ma co najmniej ⌊log2n⌋ krawędzi.
Musimy sprawdzić jak sytuacja wygląda dla drzew zbalansowanych, jako że to drzewa zbalansowane mają najkrótsze «drogi najdłuższe». Innymi słowy — chodzi o drzewa o jak najmniejszej wysokości.
Bez straty ogólności niech n=2k+lgdzie l∈[0;2k)∩N
Warto zauważyć, że w przypadku drzewa zbalansowanego dodajemy kolejne węzły na tym samym „poziomie” i nie zaczynamy dodawać węzłów na następnych „poziomach” jeśli jest jeszcze miejsce na aktualnym.
Dalej, widzimy, że wysokość naszego drzewa jest taka sama dla liczby węzłów w przedziale [2k;2k+1−1] i wynosi ona dokładnie k co zgadza się z tym czego oczekiwaliśmy:
wynik logarytmu „spłaszczamy”, bierzemy część całkowitą: ⌊log2(2k+l)⌋=log2(2k)=k
k — liczba o 1 mniejsza niż liczba węzłów na najdłuższej drodze czyli liczba krawędzi.
Zadanie 2.
Uogólnij zadanie 1. na drzewo, w którym każdy wierzchołek ma co najwyżej kp synów.
n⟹n+1: i=0∑nki=k−1kn+1−1//+kn+1i=0∑n+1ki=k−1kn+1−1+k−1kn+1⋅(k−1)i=0∑n+1ki=k−1kn+1−1+kn+2−kn+1i=0∑n+1ki=k−1kn+2−1zgadza się —
wszystkich palindromów długości n
rozważamy dwa przypadki:
n jest parzyste
dobieramy 2n liter z alfabetu k-elementowego na jedną połówkę słowa: k2n
n jest nieparzyste
dobieramy ⌊2n⌋ liter z alfabetu k-elementowego na jedną połówkę słowa: k⌊2n⌋ dodatkowo dobieramy jedną literę środkową słowa spośród k liter