J'ai un tableau de chaînes qui sont pour AZ. Je me demandais la meilleure façon d'aller sur les trier pour un arbre de recherche binaire équilibré. Ma première pensée est de diviser le tableau vers le haut dans la première moitié et la seconde moitié, puis les trier individuellement.
Je ne devrais pas être en mesure d'utiliser une façon récursive pour maintenir le diviser en deux pour obtenir le prochain nœud pour l'arbre? Je ne peux pas envelopper la tête autour d'elle en ce moment et pensé que je demanderais si quelqu'un avait des idées. pour me conduire dans la bonne direction ou donner quelques exemples. Merci!
J'utilise ma propre BinaryTree classe et BinaryTreeNode classe. MODIFIER:
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;
}
}
cela serait considéré comme un arbre de recherche binaire auto équilibrage?













