Ich habe zwei Definitionen von ausgeglichenen binären Bäumen gesehen, die für mich unterschiedlich aussehen.
Ein Binärbaum ist ausgeglichen, wenn für jeden Knoten gilt, dass sich die Anzahl der inneren Knoten im linken Teilbaum und die Anzahl der inneren Knoten im rechten Teilbaum um höchstens 1 unterscheiden.
Ein binärer Baum wird ausgeglichen, wenn für zwei Blätter die Differenz der Tiefe höchstens 1 beträgt.
Hat jeder Baum, der def erfüllt. Ich befriedige auch def. 2? Was ist umgekehrt?
data-structures
binary-trees
Forrest Gump
quelle
quelle
Antworten:
Die Definition 1. wird auch als Gewichtsausgleich ¹ und die Definition 2. als Höhenausgleich bezeichnet .
Höhenausgleich bedeutet nicht Gewichtsausgleich; Beispiele sind sowohl AVL- als auch Rot-Schwarz-Bäume. Siehe hier bzw. hier für Beweise.
Gewichtsausgleich bedeutet jedoch Höhenausgleich. Dies kann bewiesen werden, indem durch Induktion (über die Höhe) die folgende stärkere Tatsache gezeigt wird: Ein gewichtsausgeglichener Baum ist auf allen Ebenen bis auf den tiefsten vollständig². Das wesentliche Argument im induktiven Schritt ist, dass die Teilbäume nicht mehr als einen Höhenunterschied haben können, weil sie - beide mit der nach Induktionshypothese behaupteten Eigenschaft - dann nicht gewichtsausgeglichen wären.
quelle