tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1218
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    starbug starbug ist offline Mitglied Gold
    Registriert seit
    Jan 2011
    Beiträge
    191
    hallo leute ich habe eine aufgabe bekommen die ich einfach nicht hin bekomme. es wäre super von euch wenn mir jemand helfen kann. hier sind mal die klassen mit den standartmethoden.

    public class Knoten
    {
    //Attribute
    private char Schluessel;
    private Knoten TeilbaumLinks;
    private Knoten TeilbaumRechts;
    //Standardmethoden
    public char getSchluessel(){...}
    public Knoten getKnotenLinks(){...}
    public Knoten getKnotenRechts(){...}
    public void setSchluessel(char Schluessel) {...}
    public void setKnotenLinks(Knoten TeilbaumLinks) {...}
    public void setKnotenRechts(Knoten TeilbaumRechts) {...}
    }
    public class Baum
    {
    //Attribute
    private Knoten Wurzel;
    private Knoten Loeschposition;
    //Standardmethoden
    public Knoten getWurzel() {...}
    public void setWurzel(Knoten Wurzel) {...}
    public boolean suchen(char Schluessel, Knoten Teilbaum) {...}
    public Knoten einfuegen(char Schluessel, Knoten Teilbaum) {...}
    public Knoten entfernen(char Schluessel, Knoten Teilbaum) {...}
    }

    die methode die erstellen soll heis: public void verschmelzen(Knoten wurzelZweiterBaum)

    danke für antworten schonmal im vorraus
     

  2. #2
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    500
    Was genau soll beim Verschmelzen passieren? Das Wort Verschmelzen alleine ist für mich nicht eindeutig genug.
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  3. #3
    starbug starbug ist offline Mitglied Gold
    Registriert seit
    Jan 2011
    Beiträge
    191
    ein breits bestehnder baum soll die wurzel samt aller knoten eines zweiten baumes in sich aufnehmen
     

  4. #4
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    500
    Ja ne, das ist mir klar soweit. Mir persönlich kommen aber solche Fragen auf:
    Welchen Schlüssel erhält der Wurzelknoten, von Baum 1 oder Baum 2?
    Was passiert, wenn es 3 oder 4 Teilbäume insgesamt sind?
    Was soll passieren, wenn die Schlüssel der ersten Subknoten gleich sind? Wird das ignoriert oder werden diese in tieferen Ebenen verschmolzen?
    ...
    Einfach mehr Details bitte...
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  5. #5
    starbug starbug ist offline Mitglied Gold
    Registriert seit
    Jan 2011
    Beiträge
    191
    also ich hab das so verstanden das der erste baum eine wurzel hat und die des zweiten dann mit des ersten verglichen wird. es ist übrigens ein suchbaum also kein avl oder sowas. danach sollen halt alle elemente des zweiten baumes mit denen des ersten verglichen werden und dementsrechend eingefügt werden. gleiche schlüssel weren dann nach unten verschoben
     

  6. #6
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    500
    Aha, vorausgesetzt ist verstehe das richtig, dann würde ich mti etwa folgendem Ansatz rangehen:
    Vergleiche die Schlüssel beider Wurzelknoten
    A) Beide Schlüssel sind gleich - Der neue Baum besitzt den gleichen Wurzelknotenschlüssel wie die Ursprungsbäume.
    Die jeweiligen Schlüssel der Teilbäume (4 an der Zahl) werden wiederum verglichen,
    d.h. die Funktion wird rekursiv aufgerufen. Allerdings muss man hier überlegen, ob nur links+links bzw.
    rechts+rechts oder auch links+rechts verschmolzen werden kann.
    Wenn links+rechts verschmolzen werden können, was passiert wenn alle 4 Teilschlüssel unterschiedlich sind?
    B) Beide Schlüssel sind verschieden - Es wird ein neuer Baum mit einem neuen Wurzelknoten generiert,
    welcher die beiden Ursprungsbäume als Teilbäume links und rechts hat.
    Die Rekursion findet hier eine Abbruchbedingung.

    Hilft dir das in etwa weiter?

    Edit: Ich habe gerade gesehen, dass deine Funktion nichts zurückgibt, ist das so festgelegt? Wenn ja, dann wird das mti der Rekursion schwierig
    Geändert von HonniCilest (28.01.11 um 16:47 Uhr)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

Ähnliche Themen

  1. Zeichnen von Binär-Bäumen
    Von tomi im Forum PHP
    Antworten: 4
    Letzter Beitrag: 01.02.10, 11:06
  2. Preorder Traversierung von Bäumen
    Von stEEdZ im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 28.01.08, 16:48
  3. Sortierung von Bäumen
    Von Wurzelseppi im Forum Java
    Antworten: 1
    Letzter Beitrag: 20.10.07, 12:39
  4. Sonnenaufgang über Bäumen
    Von 3DVisionX im Forum Fotografie
    Antworten: 4
    Letzter Beitrag: 25.06.07, 20:13
  5. Frage zu binären Bäumen
    Von wookenny im Forum Coders Talk
    Antworten: 5
    Letzter Beitrag: 20.03.05, 16:15