Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Das erste Element wäre die Wurzel, das zweite der linke Sohn, das dritte der rechte Sohn.
Jedes Element i der Liste hat dann den linken Sohn bei 2*i und den rechten Sohn bei 2*i+1.
Aufgrund der umfangreichen Vorgaben, würde ich sagen: ;-)
-nimm das erste Element aus der Liste
-mache daraus den Wurzelknoten
-nimm des zweite und dritte Element aus der Liste
-mache daraus jeweils einen Knoten und stecke die in den Wurzelknoten
-nimm das vierte Element aus der Liste
...
Ich dachte die andere Richtung ist relevant: aus Listen eine Baum erzeugen??
Da wir leider die konkrete Aufgabenstellung und Vorgaben der Hausaufgabe nicht kennen, kann man dazu nicht viel sagen. Es wäre z.B. interessant wie die Listen ausschauen bzw. um was für Listen es sich handelt? Nach welcher Logik die Elemente der Liste im Baum "einsortiert" werden sollen?...
hi,
ich habe ein neues problem:
die knoten meines baumes repräsentieren telefonbucheinträge.wenn jetzt ein neuer eintrag hinzugefuegt wird soll die alphabetische ordnung erhalten bleiben.das blatt das am weitesten links im baum steht kommt zuerst.dann seine wurzel und dann das rechte blatt.wenn der hinzugefuegte eintrag bereits existiert wird false zurueckgegeben.das wird soll in der funktion public boolean insert(Friend data) passieren
die funktion compareTo soll zur hilfe genommen werden.
Java:
public int compareTo(Friend c2) {
return (surname + ", " + firstname).toLowerCase().compareTo(
(c2.getSurname() + ", " + c2.getFirstname()).toLowerCase());
}
die klasse friend sieht so aus:
Java:
public class Friend {
public Friend() {
surname = "";
firstname = "";
email = "";
birthday = new Date();
}
}
Wir reden jetzt nicht mehr von einem Binärbaum, richtig?
Du musst einfach nur über sämtliche Friends in dem Ast iterieren und dann mittels der compare - Methode (die ist nehme ich mal an Bestandteil der Klasse Friend) vergleichen ob 0 zurück gegeben wird.
Ich persönlich würde allerdings eine Methode implementieren, die equals() verwendet