Rudimentäre Breitensuche implementiert
(noch ohne Zeilenumbrüche für die Niveaus)main
parent
c20fe70015
commit
3d9fbcd8bb
|
@ -1,7 +1,12 @@
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Queue;
|
||||||
|
|
||||||
public class Baum {
|
public class Baum {
|
||||||
private Knoten wurzel;
|
private Knoten wurzel;
|
||||||
|
|
||||||
|
private Queue<Knoten> ll = new LinkedList<Knoten>();
|
||||||
|
private StringBuilder sb;
|
||||||
|
|
||||||
public void add(int wert) {
|
public void add(int wert) {
|
||||||
if (wurzel == null) {
|
if (wurzel == null) {
|
||||||
wurzel = new Knoten(wert);
|
wurzel = new Knoten(wert);
|
||||||
|
@ -14,6 +19,19 @@ public class Baum {
|
||||||
public void inorder() {
|
public void inorder() {
|
||||||
wurzel.inorder();
|
wurzel.inorder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
// Breitensuche
|
||||||
|
if (wurzel == null)
|
||||||
|
return "Baum ist noch leer";
|
||||||
|
|
||||||
|
sb = new StringBuilder();
|
||||||
|
ll.add(wurzel);
|
||||||
|
|
||||||
|
wurzel.breitensuche();
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------
|
// ----------
|
||||||
|
|
||||||
|
@ -53,6 +71,20 @@ public class Baum {
|
||||||
if (this.rechts != null)
|
if (this.rechts != null)
|
||||||
this.rechts.inorder();
|
this.rechts.inorder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void breitensuche() {
|
||||||
|
if (links != null)
|
||||||
|
ll.add(this.links);
|
||||||
|
if (rechts != null)
|
||||||
|
ll.add(this.rechts);
|
||||||
|
|
||||||
|
sb.append(ll.poll().wert + " ");
|
||||||
|
|
||||||
|
if (ll.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ll.peek().breitensuche();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@ public class Main {
|
||||||
|
|
||||||
b1.add(11);
|
b1.add(11);
|
||||||
|
|
||||||
b1.inorder();
|
// b1.inorder();
|
||||||
|
|
||||||
System.out.println(b1);
|
System.out.println(b1.toString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue