Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Baum travesieren

  1. #1
    killa12
    Gast

    Baum travesieren

    Hi,

    hab folgendes Problem ich habe eine Baum, wo ich nur die Funktionen getRootNode und getChildNodes habe, jetze brauche ich eine Idee wie ich am effizientesten den Baum durchsuchen kann und mir eine Liste mit allen Knoten zurück geben kann. Meine Idee wäre mit rekursion allerdings weiss ich nicht wie ich das umsetzen soll. Wäre echt super wenn jemand ein kleines Code Beispiel für mich hat

    danke im voraus!!

  2. #2
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    Code:
    void printTree(Node n) {
      System.out.println(n);
      List<Node> children = getChildNodes(n);
      if(children.empty) return;
      foreach(Node c in children) {
        printTree(c);
      }
    }
    Dies ist die rekursive Lösung, aufrufen kannst du die z.B. mit printTree(getRootNode());

    Das Beispiel funktioniert wahrscheinlich nicht direkt, da du ja die Funktionssignaturen der vorhandenen Funktionen nicht angegeben hast.

    Ach ja, die Ausgabereihenfolge der Knoten ist in diesem Fall pre-order, also für den Baum:
    Code:
        R
       / \
      a   b
     / \ / \
    c  d e  f
    erhälst du folgende Ausgabe: R a c d b e f
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •