Ho una matrice di stringhe che sono in ordine AZ. Mi chiedevo il modo migliore per andare su di loro l'ordinamento di un equilibrato albero binario di ricerca. Il mio pensiero iniziale è quella di dividere la matrice fino nella prima metà e la seconda metà e poi ordinarli singolarmente.
Non dovrei essere in grado di utilizzare un modo ricorsivo per mantenere dividendolo a metà per ottenere il prossimo nodo per l'albero? Non riesco proprio a avvolgere la mia testa intorno ad esso in questo momento e ho pensato chiedere se qualcuno avesse qualche idea. a me condurre nella giusta direzione o fornire alcuni esempi. Grazie!
Sto usando il mio BinaryTree Classe A e Classe BinaryTreeNode. MODIFICARE:
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;
}
}
questo sarebbe considerato un auto bilanciamento albero binario di ricerca?













