Am o serie de coarde, care sunt în ordine AZ. Mă întrebam cel mai bun mod de a merge cu privire la sortarea lor pentru un arbore echilibrat binar de căutare. Gândul meu inițial este de a împărți matrice până în prima jumătate a anului și a doua jumătate și apoi sortați-le în mod individual.
Nu ar trebui să fie în măsură să utilizeze un mod recursiv de a păstra divizarea în jumătate pentru a obține următorul nod pentru copac? Pur și simplu nu se poate încadra în jurul valorii de capul meu chiar acum și am crezut că ar întreba dacă cineva avea vreo idee. să mă conducă în direcția corectă sau să ofere câteva exemple. Mulțumiri!
Sunt folosind propria mea BinaryTree clasa si BinaryTreeNode clasa. EDITAȚI | ×:
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;
}
}
ar fi considerat acest lucru un autoechilibrare arbore binar de căutare?













