0

Wenn wir sagen würden, Knoten mit dem Wert 10, 9 ... 1 in absteigender Reihenfolge auf einem einzelnen linken Zweig angeordnet, wie könnten wir Rotationen auf dem Baum durchführen, um es zu einem ausgewogenen AVL-Baum zu machen? Ich dachte daran, einzelne richtige Rotationen zu wiederholen, aber könnte jemand die Reihenfolge der Schritte hier zeigen?Wie balanciert man einen Baum mit einer einzelnen Verzweigung?

+0

Sie können den einzelnen linken Zweigbaum umkehren, um einen einzelnen rechten Zweigbaum (eine Rebe) zu erstellen, und dann Rebe in Baum umwandeln. Link zu [rebalance tree.pdf] (http://web.eecs.umich.edu/~qstout/pap/CACM86.pdf). – rcgldr

Antwort

2

Drehen Sie an der Wurzel, bis 5 oben ist. Der Baum steht nun auf dem Kopf. Jetzt mache eine ähnliche Operation für jeden der beiden Teilbäume und so weiter.

Verwandte Themen