tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1123
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Informatik Informatik ist offline Grünschnabel
    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?
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.443
    Ich habe das Rotieren der Bäume gehasst. Vielleicht hilft dir das weiter: http://de.wikipedia.org/wiki/AVL-Baum#Rebalancierung
     

  3. #3
    Technoblade Technoblade ist offline Mitglied Gold
    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)
     

  4. #4
    Technoblade Technoblade ist offline Mitglied Gold
    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

  1. Baum
    Von masterdima im Forum Fotografie
    Antworten: 1
    Letzter Beitrag: 24.03.10, 15:23
  2. Hohler Baum, B+Baum, Hash verfahren
    Von sunnysunny81 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 12.01.10, 16:28
  3. Baum
    Von rendermaci im Forum Cinema 4D
    Antworten: 9
    Letzter Beitrag: 12.04.08, 11:43
  4. B-Baum
    Von mistirios im Forum Java
    Antworten: 10
    Letzter Beitrag: 21.10.07, 00:40
  5. Baum
    Von smileyml im Forum Cinema 4D
    Antworten: 7
    Letzter Beitrag: 07.01.05, 16:19