Binärer Suchbaum Knoten zählen

Guest1

Aktives Mitglied
hey Leute könnt ihr mir bitte behilflich sein,
ich habe folgendes Problem.
ich soll eine Methode "gibAnzahl()" schreiben, um die anzahl der knoten im binärbaum zu zählen.
leider weiß ich nicht wie ich vorgehen soll.

Code:
public class BinaererSuchbaum {

    private Baumknoten wurzel;


    public BinaererSuchbaum() {

        this.wurzel = null;
    }

    public String gibInorderfolge() {

        return (this.wurzel == null)
                ? ""
                : this.wurzel.gibInorderfolge();
    }

    public String gibPreorderfolge() {

        return (this.wurzel == null)
                ? "(leer)"
                : this.wurzel.gibPreorderfolge();
    }

    public boolean istEnthalten(String wert) {

        return (this.wurzel != null) && this.wurzel.istEnthalten(wert);
    }

    public void fuegeHinzuRekursiv(String wert) {

        if (this.wurzel == null) {

            this.wurzel = new Baumknoten(wert);

        } else {
            this.wurzel.fuegeHinzu(wert);
        }
    }

    public void fuegeHinzuIterativ(String wert) {

        Baumknoten knoten = new Baumknoten(wert);

        Baumknoten aktuellerKnoten = this.wurzel;

        Baumknoten vater = null;

        boolean nachRechtsVerzweigt = false;

        while (aktuellerKnoten != null) {

            vater = aktuellerKnoten;

            if (wert.compareTo(aktuellerKnoten.gibInhalt()) <= 0) {

                nachRechtsVerzweigt = false;
                aktuellerKnoten = aktuellerKnoten.gibLinkenTeilbaum();

            } else {

                nachRechtsVerzweigt = true;
                aktuellerKnoten = aktuellerKnoten.gibRechtenTeilbaum();
            }
        }

        if (vater == null) {

            this.wurzel = knoten;

        } else if (nachRechtsVerzweigt) {

            vater.setzeRechtenTeilbaum(knoten);

        } else {

            vater.setzeLinkenTeilbaum(knoten);
        }
    }

    public void entferne(String wert) {

        if (this.wurzel != null) {
            this.wurzel = this.wurzel.entferne(wert);
        }
    }

   public int gibAnzahl(){
       
     
    }
}

danke im voraus!
 

Neue Themen


Zurück
Oben