C
Chris123456
Gast
Hi,
ich hab folgende Standardaufgabe:
man soll Studenten anhand einer Matrikelnummer und anhand des Namens in einen binären Suchbaum einfügen und diese auch wieder löschen können. Danach sollen die auch noch in der preOrder,postOrder und inOrder Methode ausgegeben werden. Hier mal kurz mein aktueller Quellcode:
nun mein Prob:
wie kann ich diese Ausgaben realisieren und daraus folgt wie kann ich einen Studenten löschen. ich versteh nämlich nicht wie ich den Baum in so einer Speziellen Methode durchlaufen kann.
Ich hoffe ihr könnt mir nen paar tipps gegen.
lg chris
ich hab folgende Standardaufgabe:
man soll Studenten anhand einer Matrikelnummer und anhand des Namens in einen binären Suchbaum einfügen und diese auch wieder löschen können. Danach sollen die auch noch in der preOrder,postOrder und inOrder Methode ausgegeben werden. Hier mal kurz mein aktueller Quellcode:
Code:
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
import java.lang.*;
import java.lang.Math;
import baum.Student;
import baum.BaumVisualizerDialog;
package baum;
public class Student {
public Student(int matrikel, String name) {
this.matrikel = matrikel;
this.name = name;
}
public int matrikel;
public String name;
public Student links;
public Student rechts;
}
public class BinSuchBaum {
public static Random ran = new Random();
public static int count;
public static Student mWurzel;
public static void add2Tree(Student newOne, Student wurzel) {
if (newOne.matrikel > wurzel.matrikel) {
if (wurzel.rechts == null) {
wurzel.rechts = newOne;
} else {
add2Tree(newOne, wurzel.rechts);
}
} else {
if (wurzel.links == null) {
wurzel.links = newOne;
} else {
add2Tree(newOne, wurzel.links);
}
}
}
public static void newStudent(int matrikel, String name ) {
Student newOne = new Student(matrikel,name);
if (count == 0) {
mWurzel = newOne;
count = 1;
}
if (newOne != mWurzel) {
add2Tree(newOne,mWurzel);
}
}
public static void inOrder() {
}
public static void preOrder() {
}
public static void postOrder() {
}
public static void delete (int matrikel) {
}
public static void main(String [] args) {
// erstellt mal zufällig einen Baum
String name = "test";
for (int i = 0; i < 20; i++) {
newStudent(1 + ran.nextInt(100), name);
}
BaumVisualizerDialog.printBaum(mWurzel);
}
}
nun mein Prob:
wie kann ich diese Ausgaben realisieren und daraus folgt wie kann ich einen Studenten löschen. ich versteh nämlich nicht wie ich den Baum in so einer Speziellen Methode durchlaufen kann.
Ich hoffe ihr könnt mir nen paar tipps gegen.
lg chris