Ich habe ein Array von Strings, die in Reihenfolge AZ sind. Ich habe mich gefragt, den besten Weg zu gehen, um sie für einen ausgewogenen binären Suchbaum sortiert werden. Mein erster Gedanke ist das Array bis in die erste Hälfte und die zweite Hälfte aufzuteilen und sie dann einzeln sortieren.
Soll ich nicht eine rekursive Art und Weise nutzen kann, damit es in zwei Hälften teilen den nächsten Knoten für den Baum zu bekommen? Ich kann einfach nicht wickeln, meinen Kopf um es jetzt und dachte, ich würde fragen, ob jemand irgendwelche Ideen hatte. mich in der richtigen Richtung zu führen oder einige Beispiele. Vielen Dank!
Ich bin mit meiner eigenen BinaryTree Klasse und BinaryTreeNode Klasse. BEARBEITEN:
public class BinaryTree {
private BinaryTreeNode root;
public void insert(String text) {
root = insertNode(root, text);
}
private BinaryTreeNode insertNode(BinaryTreeNode curNode, String text) {
if (curNode == null) {
BinaryTreeNode newNode = new BinaryTreeNode(text);
//newNode.value = text;
return newNode;
} else {
if (text.compareTo(curNode.value) < 0 ) {
//left child
//use of recursion to properly place Node
curNode.left = insertNode(curNode.left, text);
return curNode;
}
else {
//right
//use of recursion to properly place Node
curNode.right = insertNode(curNode.right, text);
return curNode;
}
}
}
public BinaryTreeNode getRoot() {
return root;
}
public void setRoot(BinaryTreeNode root) {
this.root = root;
}
}
würde dies eine Selbstausgleich binären Suchbaumes in Betracht gezogen werden?













