ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1123
1123
EMPFEHLEN
-
26.06.11 15:26 #1
- Registriert seit
- Jun 2011
- Beiträge
- 1
hi

Ich muss Zahlen wie z.B:
35, 8, 43, 89, 92, 33, 15, 2, 3, 70, 6, 74, 23, 49, 12, 66, 17, 73, 65
in ein balancierten Baum 2. Ordnung einfügen (nacheinander einfügen) aber ich habe keine ahnung wie das geht, kann mir vielleicht jemand weiter helfen?
-
Ich habe das Rotieren der Bäume gehasst. Vielleicht hilft dir das weiter: http://de.wikipedia.org/wiki/AVL-Baum#Rebalancierung
-
26.06.11 20:40 #3
- Registriert seit
- Feb 2009
- Beiträge
- 193
Erstmal herzlichen willkommen im Forum.
Ich habe mir mal ein wenig Gedanken gemacht, ob mein Ansatz richtig ist oder nicht weiß ich nicht. Aber hier meine Idee:
In deiner Aufgabenstellung steht, dass der Baum balanciert ist. Ergo kann der Höhenunterschied zwischen den verschiedenen "Enden" des Baums, also der Knoten die keine Kindknoten mehr haben, maximal eins sein. Weiterhin gibt es drei Fälle zu unterscheiden: ein Knoten hat keine Kindknoten, er hat nur einen linken, oder er hat zwei Kindknoten. In letzten Fall ist beim Durchlauf natürlich einfach normal fortzufahren. Die andere Fälle erläutere ich unten noch.
Ich würde jetzt den Baum zu durchlaufen beginnen. Sollte ein Konten nur einen linken Kindknoten haben wird der einzufügende Wert direkt an der rechten Seite eingefügt. Und wir sind fertig.
Sollte der Knoten keine Kindknoten haben wird es schon schwieriger. An solchen Stellen brauchen wir die Höhe in der wir uns Momentan befinden, weiterhin speichern wir jedes Mal die maximale Höhe die wir bisher gemessen haben und zu dieser ebenfalls den Knoten an dem diese gemessen wurde.
Liegt die momentane Höhe über der maximal gemessenen, so wird der Wert auf der linken Seite des gespeicherten Knoten mit der vorherigen maximalen Höhe eingefügt. (Wird der gesamte Baum mit diesem Algorithmus erstellt kann dieser Fall nicht eintreten, wenn der Baum von links nachts rechts durchlaufen wird). Liegt die momentane Höhe darunter wird der Wert natürlich auf der linken Seite des aktuellen Knotens eingefügt.
Sollte sich der aktuelle Knoten auf der selben Höhe befinden geschieht nichts.
In dem Fall, dass der Wert so nicht eingefügt wird (da sich alle Knoten auf der selben Höhe befinden), fügt man den Wert auf der linken Seite des gespeicherten Knotens ein.
Phu, ich hoffe das war jetzt so verständlich. Ansonsten frag ruhig nochmal nach. Über Rückmeldung ob das so richtig ist würde ich mich auch sehr freuen da ich zum Wintersemester mit einem Informatikstudium anfangen will.Geändert von Technoblade (26.06.11 um 20:42 Uhr)
-
12.05.12 00:31 #4
- Registriert seit
- Feb 2009
- Beiträge
- 193
Hi miteinander. Ich muss hier nochmal ein wenig "Threadnecrophiler" spielen, denn wir sind mittlerweile in unseren Vorlesungen so weit, dass wir bei AVL-Bäumen angekommen sind, und da wüsste ich jetzt schon gerne, ob mein Algorithmus von vor knapp einem Jahr korrekt ist, auch wenn ich mir mittlerweile selbst relativ sicher bin
Ähnliche Themen
-
Baum
Von masterdima im Forum FotografieAntworten: 1Letzter Beitrag: 24.03.10, 15:23 -
Hohler Baum, B+Baum, Hash verfahren
Von sunnysunny81 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 12.01.10, 16:28 -
Baum
Von rendermaci im Forum Cinema 4DAntworten: 9Letzter Beitrag: 12.04.08, 11:43 -
B-Baum
Von mistirios im Forum JavaAntworten: 10Letzter Beitrag: 21.10.07, 00:40 -
Baum
Von smileyml im Forum Cinema 4DAntworten: 7Letzter Beitrag: 07.01.05, 16:19





Zitieren

Login





