Grund BST Frage von einem neuen Programmierer

stimmen
0

Angesichts den Datensatz (8, 1, 6, 9, 3, 5, 4, 7), I den folgenden binären Suchbaum zeichnete:

   8
  / \
  1  9
   \ 
    6
   / \ 
  3   7
   \ 
    5
   /
  4

Meine Frage ist, wenn ich den Wurzelknoten (8) von diesem Baum, wie würde ich tun, um es entfernen wollte, und was wäre die resultierende Baum-Struktur aussehen? Vielen Dank für jede Hilfe!

Veröffentlicht am 30/03/2011 um 04:29
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Sie werden entweder einen Knoten aus dem linken Teilbaum oder den rechten Teilbaum fördern müssen. Sie können dies willkürlich tun, oder besser noch, zu fördern vom tiefstenen Baum.

Wenn von dem linken Unterbaum zu fördern, finden Sie das Blatt nach rechts immer was los in der linken substree starten. Snip dieses Blatt vom Baum, und legt es als neue Wurzel.

Ebenso, wenn von dem rechten Unterbaum zu fördern, finden Sie das Blatt für immer im rechten Teilbaum Start geht gelassen. Snip dieses Blatt vom Baum, und legt es als neue Wurzel.

Beantwortet am 30/03/2011 um 04:38
quelle vom benutzer

stimmen
-2
            1
             \
              6
            /  \
           3    9 
            \  /
             5 7
            /
           4   

Der Baum sieht wie oben gezeigt. Am besten wäre es, den Baum wieder eher von Grund auf neu zu rekonstruieren, als eine gewisse Logik, die die Blätter zu bewegen und den Prozess erschweren.

Beantwortet am 30/03/2011 um 06:51
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more