Ich versuche zu beweisen, dass ein Binärbaum mit Knoten höchstens Blätter hat. Wie würde ich das mit Induktion machen?
Für Leute, die der ursprünglichen Frage nach Haufen folgten, wurde sie hierher verschoben .
Ich versuche zu beweisen, dass ein Binärbaum mit Knoten höchstens Blätter hat. Wie würde ich das mit Induktion machen?
Für Leute, die der ursprünglichen Frage nach Haufen folgten, wurde sie hierher verschoben .
Antworten:
Ich gehe jetzt davon aus, dass die Frage folgende ist:
Beweisen Sie bei einem Binärbaum mit Knoten, dass er höchstens ⌈ n enthältBlätter.
Lassen Sie uns mit dem Baum Definition arbeiten . Für T ein solcher Baum, lassen n T die Anzahl der Knoten in T und L T die Anzahl der Blätter in T .
Sie tun dies zu Recht durch Induktion, benötigen jedoch eine strukturelle Induktion, die der Baumstruktur folgt. Bei Bäumen erfolgt dies häufig als vollständige Induktion über die Höhe der Bäume.
Der Induktionsanker besteht aus zwei Teilen. Erstens, für Wir haben T = E m p t Y mit L T = N T = 0 ; Die Behauptung gilt eindeutig für den leeren Baum. Für h ( t ) = 1 , dh T = L e a f , gilt in ähnlicher Weise l T = 1 = ⌈ n T, so gilt der Anspruch für Blätter.
Die Induktionshypothese lautet: Angenommen, die Behauptung gilt für alle (binären) Bäume mit h ( T ) ≤ k , k ≥ 1 willkürlich, aber fest.
Betrachten Sie für den induktiven Schritt einen beliebigen Binärbaum mit h ( T ) = k + 1 . Wie k ≥ 1 , T = N o d e ( L , R ) und n T = n L + n R + 1 . Da L und R auch binäre Bäume sind (sonst wäre T nicht) und h ( L ) , h ( gilt und gilt die Induktionshypothese
Da alle Blätter von entweder in L oder R sind , haben wir das
Die mit markierte Ungleichung kann durch eine (vierfache) Unterscheidung überprüft werden, ob n L , n R ∈ 2 N ist . Mit der Induktionskraft ist der Beweis abgeschlossen.
Als Übung können Sie dieselbe Technik verwenden, um die folgenden Aussagen zu beweisen:
Die Frage verwirrt mich ein wenig. Wenn Sie sich für Bäume mit einem Grad von höchstens interessieren , wie Wikipedia es vorsieht, stoßen wir auf das Problem, dass eine einzelne Kante n = 2 Knoten und n = 2 Blätter hat, aber n / 2 = 1 . Sowieso ist hier etwas nahes, das ein einfaches Argument hat.
Sei ein solcher Baum mit n Knoten und L Blättern. Da T ein Baum ist, gibt es n - 1 Kanten, und wenn wir sie doppelt zählen, sehen wir, dass 2 n - 2 ≤ L + 3 ( n - L ), was besagt, dass 2 L ≤ n + 2 und dies ist eng in den beiden -vertex Beispiel oben. Ich denke, wenn Sie annehmen wollen, dass es eine Wurzel von Grad zwei und n ≥ 3 gibt , können Sie dieses Argument verfeinern, um 2 L zu ergeben