Έχω μια σειρά από Strings που βρίσκονται σε σειρά AZ. Αναρωτιόμουν ο καλύτερος τρόπος να πάει για τη διαλογή τους για μια ισορροπημένη δυαδικό δένδρο αναζήτησης. Η αρχική μου σκέψη είναι να χωρίσει τον πίνακα επάνω στο πρώτο ημίχρονο και στο δεύτερο εξάμηνο και στη συνέχεια να ταξινομήσετε ξεχωριστά.
Δεν θα έπρεπε να είναι σε θέση να χρησιμοποιήσει ένα αναδρομικό τρόπο για να κρατήσει το διαχωρισμό στη μέση για να πάρει την επόμενη Κόμβος για το δέντρο; Απλά δεν μπορώ να τυλίξτε το κεφάλι μου γύρω από αυτό τώρα και σκέφτηκα θα ήθελα να ρωτήσω αν υπάρχει κάποιος είχε οποιεσδήποτε ιδέες. να με οδηγήσει προς τη σωστή κατεύθυνση ή παρέχουν ορισμένα παραδείγματα. Ευχαριστώ!
Είμαι χρησιμοποιώντας το δικό μου BinaryTree Class και BinaryTreeNode κατηγορίας. ΕΠΕΞΕΡΓΑΣΙΑ:
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;
}
}
Θα θεωρείται ένα Αυτο εξισορρόπησης δυαδικό δένδρο αναζήτησης;













