diff --git a/Abschluss.java b/Abschluss.java index 23094bf..cc18479 100644 --- a/Abschluss.java +++ b/Abschluss.java @@ -1,10 +1,4 @@ -/** - * Beschreiben Sie hier die Klasse Abschluss. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ public class Abschluss extends Baumelement { // Attribute @@ -19,6 +13,23 @@ public class Abschluss extends Baumelement public Baumelement einfügen(Datenelement datenNeu) { return new Knoten(datenNeu); } + + public Datenelement Suche(String suche){ + System.err.println("[404]Not found"); + return null; + } + public int HöheGeben(){ + return 0; + } + + public boolean IstVorhanden(String Testwort){ + return false; + } + + public int TiefeGeben(String suche){ + System.err.println("[404]Not found"); + return 0; + } diff --git a/Baumelement.java b/Baumelement.java index d3f7a7c..1b896ea 100644 --- a/Baumelement.java +++ b/Baumelement.java @@ -1,14 +1,12 @@ -/** - * Abstrakte Klasse Baumelement - beschreiben Sie hier die Klasse - * - * @author (Ihr Name) - * @version (eine Version-Nummer oder ein Datum) - */ + public abstract class Baumelement { // Attribute // Methoden public abstract Baumelement einfügen(Datenelement datenNeu); - + public abstract Datenelement Suche(String suche); + public abstract int HöheGeben(); + public abstract boolean IstVorhanden(String IstVorhanden); + public abstract int TiefeGeben(String suche); } diff --git a/BinBaum.java b/BinBaum.java index eaa6386..60718f7 100644 --- a/BinBaum.java +++ b/BinBaum.java @@ -1,10 +1,5 @@ -/** - * Beschreiben Sie hier die Klasse BinBaum. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ + public class BinBaum { // Attribute @@ -18,8 +13,34 @@ public class BinBaum this.wurzel = new Abschluss(); } - public void einfügen(Datenelement datenNeu) { - this.wurzel = this.wurzel.einfügen(datenNeu); + public void einfügen(Datenelement datenNeu_Deu_Eng) { + this.wurzel = this.wurzel.einfügen(datenNeu_Deu_Eng); + } + + public Datenelement Suche(String suche){ + return wurzel.Suche(suche); + } + + public int HöheGeben(){ + return wurzel.HöheGeben()-1; + } + + public boolean IstVorhanden(String Testwort){ + return wurzel.IstVorhanden(Testwort); + } + + public int TiefeGeben(String suche){ + return wurzel.TiefeGeben(suche); + + } + + + + + + public void TestwerteEinfügen(){ + einfügen(new Wortpaar("test","test")); + einfügen(new Wortpaar("hallo","hello")); } diff --git a/Datenelement.java b/Datenelement.java index 3473ad2..18a9ff9 100644 --- a/Datenelement.java +++ b/Datenelement.java @@ -1,10 +1,5 @@ -/** - * Tragen Sie hier eine Beschreibung des Interface Datenelement ein. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ + public interface Datenelement { diff --git a/Knoten.java b/Knoten.java index 95f0e4e..6f5de31 100644 --- a/Knoten.java +++ b/Knoten.java @@ -1,10 +1,5 @@ -/** - * Beschreiben Sie hier die Klasse Knoten. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ + public class Knoten extends Baumelement { // Attribute @@ -35,6 +30,47 @@ public class Knoten extends Baumelement } return this; } + + public Datenelement Suche(String suche){ + if (this.daten.gibSchlüssel() == suche) { + return daten; + } else { + if (this.daten.gibSchlüssel().compareTo(suche)>0) { + return this.linkerNachfolger.Suche(suche); + } else { + return this.rechterNachfolger.Suche(suche); + } + } + } + + public int HöheGeben(){ + if (linkerNachfolger.HöheGeben() > rechterNachfolger.HöheGeben()){ + return linkerNachfolger.HöheGeben()+1; + } + return rechterNachfolger.HöheGeben()+1; + } + + public boolean IstVorhanden(String Testwort){ + if(daten.gibSchlüssel().equals(Testwort)){ + return true; + } + if (this.daten.gibSchlüssel().compareTo(Testwort)>0) { + return this.linkerNachfolger.IstVorhanden(Testwort); + } else { + return this.rechterNachfolger.IstVorhanden(Testwort); + } + } + + public int TiefeGeben(String suche){ + if(daten.gibSchlüssel().equals(suche)){ + return 0; + } + if (this.daten.gibSchlüssel().compareTo(suche)>0) { + return this.linkerNachfolger.TiefeGeben(suche)+1; + } else { + return this.rechterNachfolger.TiefeGeben(suche); + } + } diff --git a/Wortpaar.java b/Wortpaar.java index b1f0b97..9fe76cc 100644 --- a/Wortpaar.java +++ b/Wortpaar.java @@ -1,10 +1,4 @@ -/** - * Beschreiben Sie hier die Klasse Wortpaar. - * - * @author (Ihr Name) - * @version (eine Versionsnummer oder ein Datum) - */ public class Wortpaar implements Datenelement { String wortDeutsch;