Applet Binäre Suchbaum darstellen

Diskutiere Binäre Suchbaum darstellen im Hausaufgaben Forum; Hallo, Ich versuche ein Applet zu erstellen, welches die Pre-,Post-, und In-Order Traversierungen beinhaltet. Das Applet habe ich schon fertig....

  1. MesuckatInfo
    MesuckatInfo Neues Mitglied
    Hallo,
    Ich versuche ein Applet zu erstellen, welches die Pre-,Post-, und In-Order Traversierungen beinhaltet. Das Applet habe ich schon fertig. Ich weiß nun leider nicht, wie ich das hinbekomme die Hauptmethoden zu implementieren und brauche dringend Hilfe dabei... Bin nicht gut im Programmieren und brauche dementsprechend dringend Hilfe. Im Endeffekt will ich die Zahlen eingeben können und dann mir die Traveriserungsmethoden aussuchen können.. Danke im Voraus.. LG

    Knoten.Java
    Code (Java):
    public class Knoten
    {
      protected Object Inhalt;
      private Knoten links, rechts;

      public Knoten()
      {
        Object Inhalt;
        links = rechts = null;
      }
      public Knoten(Object inhalt)
      {
        setInhalt(inhalt);
        links = rechts = null;
      }

      public void setInhalt(Object inhalt)
      {
        this.Inhalt = inhalt;
      }

      public Object getInhalt()
      {
        return this.Inhalt;
      }
     
      public void setLinks(Knoten links)
      {
        this.links = links;
      }
     
      public Knoten getLinks()
      {
        return links;
      }

      public void setRechts(Knoten rechts)
      {
        this.rechts = rechts;
      }

      public Knoten getRechts()
      {
        return rechts;
      }
    }
    BinSuchBaum

    Code (Java):
    public class BinSuchBaum extends BinBaumPrototyp
    {
      public BinSuchBaum (String ident)
      {
        super (ident);
      }
      public void fuegeEin(Object wert)
      {
        wurzel = fuegeEin(wurzel, wert);
      }
      public static void main (String [] args)
      {
     
      }
      private Knoten fuegeEin(Knoten aktuell, Object wert)
      {
        if(aktuell == null)
          aktuell = new Knoten(wert);
        else{
          if (wert.toString().compareTo(aktuell.getInhalt().toString())<0)
          {
            aktuell.setLinks(fuegeEin(aktuell.getLinks(),wert));
          }
          else
            aktuell.setRechts(fuegeEin(aktuell.getRechts(),wert));
        }
        return aktuell;
      }
    }
    BinBaumPrototyp

    Code (Java):
    public abstract class BinBaumPrototyp
    {
      // Anfang Attribute
      public Knoten wurzel;
      private String ident;
      // Ende Attribute
      public BinBaumPrototyp(String ident)
      {
      this.ident=ident;
      }
      // Anfang Methoden
      public abstract void fuegeEin(Object wert);
      public String inOrder()
      {
      return inOrder(wurzel);
      }
      private String inOrder(Knoten knoten)
      {
      String s = "";
     
      if (knoten!= null)
      {
        s += inOrder(knoten.getLinks());
        s += knoten.getInhalt().toString()+" ";
        s += inOrder(knoten.getRechts());
      }
      return s;
      }
      public String preOrder()
      {
      return preOrder(wurzel);
      }
      private String preOrder(Knoten knoten)
      {
      String s="";
     
      if (knoten!= null)
      {
        s += knoten.getInhalt().toString()+" ";
        s += inOrder(knoten.getLinks());
        s += inOrder(knoten.getRechts());
      } // end of if
      return s;
      }
      public String postOrder()
      {
      return postOrder(wurzel);
      }
      private String postOrder(Knoten knoten)
      {
      String s="";
     
      if (knoten!= null)
      {
        s += inOrder(knoten.getLinks());
        s += inOrder(knoten.getRechts());
        s += knoten.getInhalt().toString()+" ";
      } // end of if
      return s;
      }
      // Ende Methoden
    }
     
    Applet

    Code (Java):

    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.concurrent.TimeUnit;

    public class BinBaumPrototypApplet extends Applet implements ActionListener
    {
      Panel pnTitel = new Panel();
      Panel pnStart  = new Panel();
      Panel pnSecond  = new Panel();
      Panel pnThird  = new Panel();
      Panel  pnCopyright = new Panel();
      Button btIn = new Button ("In-Order");
      Button btPre = new Button ("Pre-Order");
      Button btPo = new Button ("Post-Order");
      Button btEingabe = new Button ("Einfügen");
     

      Label lbHeader = new Label("Binärer Suchbaum");
      Label lbCopyright = new Label(" von mir ----- Stand 17. Dezember 2018");
      Label lbEingabe = new Label ("Eingabe");
      Label lbAusgabe = new Label ("Ausgabe");
      Font ftHFont = new Font ("Dialog", Font.BOLD,50);
      Font ftCFont = new Font ("Dialog", Font.PLAIN,20);
     
      TextField tfName = new TextField (60);
      TextField tfKasse = new TextField (60);
      TextField tfNext = new TextField (60);
      TextField tfEingabe = new TextField (60);
      TextField tfAusgabe = new TextField (60);

     
      public void init()
      {
        resize(800,800);
        setLayout(new GridLayout(5,5));
        add(pnTitel);
        pnTitel.setBackground(Color.blue);
        pnTitel.add(lbHeader);
        lbHeader.setFont(ftHFont);
        lbHeader.setForeground(Color.white);
        add(pnCopyright);
        pnCopyright.setBackground(Color.blue);
        pnCopyright.add(lbCopyright);
        lbCopyright.setFont(ftCFont);
        lbCopyright.setForeground(Color.white);
        add(pnStart);
        add(pnSecond);
        add(pnThird);
        pnStart.add(lbEingabe);
        pnStart.add(tfEingabe);
        pnStart.add(btEingabe);
        btIn.addActionListener(this);
        btPre.addActionListener(this);
        btPo.addActionListener(this);
        pnSecond.add(btIn);
        pnSecond.add(btPre);
        pnSecond.add(btPo);
        pnThird.add(lbAusgabe);
        pnThird.add(tfAusgabe);
        add(pnCopyright);
        pnCopyright.setBackground(Color.blue);
        pnCopyright.add(lbCopyright);
        lbCopyright.setFont(ftCFont);
        lbCopyright.setForeground(Color.white);
      }
      public void actionPerformed(ActionEvent evt)
      {
        Object cmd = evt.getSource();
        if (cmd == btIn)
        {
       
        }
        if (cmd == btPre)
        {
       
        }
        if (cmd == btPo)
        {
       
        }
      }
    }

     
     
    Zuletzt bearbeitet: 8. Dez. 2018
  2. Vielleicht hilft dir dieses Training hier weiter.
  3. krgewb
    krgewb Aktives Mitglied
    Ist Applet identisch mit BinBaumPrototyp?
     
  4. MesuckatInfo
    MesuckatInfo Neues Mitglied
    Oh ne Moment. Falsch kopiert...
     
  5. krgewb
    krgewb Aktives Mitglied
  6. MesuckatInfo
    MesuckatInfo Neues Mitglied
    Habe das Applet erstellt.
     
  7. mihe7
    mihe7 Bekanntes Mitglied
    Sag mal, aus welchem Jahrtausend ist der Code?!?

    Anpassungen BinBaumPrototypApplet.java (open)

    Code (Java):

      BinSuchBaum baum = new BinSuchBaum("");
    ...
        btEingabe.addActionListener(this);
    ...
      public void actionPerformed(ActionEvent evt)
      {
        Object cmd = evt.getSource();
        if (cmd == btEingabe) {
          baum.fuegeEin(tfEingabe.getText());
          tfEingabe.setText("");
        }
        if (cmd == btIn)
        {
          tfAusgabe.setText(baum.inOrder());
        }
    ...
     

    Das ist zwar immer noch eine mittlere Katastrophe, aber zumindest kommt was dabei raus...
     
    MesuckatInfo gefällt das.
  8. MesuckatInfo
    MesuckatInfo Neues Mitglied
    Tja... wenn man's nicht anständig lernt... Danke trotzdem. Warum funktionieren die Traversierungen nun nicht?... Ich bin zu doof
     
    Zuletzt bearbeitet: 8. Dez. 2018
  9. MesuckatInfo
    MesuckatInfo Neues Mitglied
    Das Problem scheint darin zu liegen, dass er mit zweistelligen Zahlen nicht klarkommt und dann die Traversierungen nicht korrekt durchführt.
     
  10. DerWissende
    DerWissende Bekanntes Mitglied
    Wer hat Dir gesagt dass es pre post und in-order gibt?

    Wie soll der BinBaum repräsentiert werden?

    Applet? :confused: Ich dachte der Dino sei schon ausgestorben....

    Wieso iss der komplette Code nicht generisiert?:oops:

    Rekursive Traversierung? :eek:
     
  11. mihe7
    mihe7 Bekanntes Mitglied
    Dein Baum arbeitet mit Zeichenketten, nicht mit Zahlen...
     
  12. Wenn du Java lernen möchtest, empfehlen wir dir dieses Online-Training hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Binäre Suchbaum darstellen - Ähnliche Themen

Applet zu Binären Suchbaum erstellen
Applet zu Binären Suchbaum erstellen im Forum Hausaufgaben
Binäre Suchbäume mit Folge erstellen
Binäre Suchbäume mit Folge erstellen im Forum Mathematik
Binärer Suchbaum
Binärer Suchbaum im Forum Java Basics - Anfänger-Themen
Elemente eines Binären Suchbaums ausgeben
Elemente eines Binären Suchbaums ausgeben im Forum Java Basics - Anfänger-Themen
Methode zu einem Binären Suchbaum
Methode zu einem Binären Suchbaum im Forum Java Basics - Anfänger-Themen
Thema: Binäre Suchbaum darstellen