Ik heb een array van strings die in orde zijn AZ. Ik vroeg me af de beste manier om te gaan ze te sorteren voor een evenwichtige binaire zoekboom. Mijn eerste gedachte is om de serie te splitsen in de eerste helft en de tweede helft en vervolgens te sorteren hen individueel.
Zou ik niet in staat zijn om een recursieve manier te gebruiken te houden splitsen in de helft naar het volgende knooppunt voor de boom te krijgen? Ik kan het gewoon niet sla mijn hoofd rond het juist nu en dacht dat ik zou vragen als iemand enig idee had. om me te leiden in de juiste richting of geef enkele voorbeelden. Bedankt!
Ik gebruik mijn eigen BinaryTree Class en BinaryTreeNode Class. BEWERK:
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;
}
}
zou dit een Self balancing binaire zoekboom worden beschouwd?













