मैं स्ट्रिंग्स कि आदेश AZ में हैं की एक सरणी है। मैं उन्हें एक संतुलित द्विआधारी खोज वृक्ष के लिए छँटाई के बारे में जाने के लिए सबसे अच्छा तरीका सोच रहा था। मेरे प्रारंभिक सोचा पहली छमाही और दूसरी छमाही में सरणी को विभाजित करने और फिर उन्हें व्यक्तिगत रूप से सॉर्ट है।
नहीं मैं आधे में विभाजित पेड़ के लिए अगले नोड प्राप्त करने के लिए रखने के लिए एक पुनरावर्ती तरह से उपयोग करने में सक्षम होना चाहिए? मैं बस अभी इसके चारों ओर मेरे सिर लपेटो और सोचा कि अगर किसी भी एक किसी भी विचार किया था मैं पूछना होगा नहीं कर सकते। मुझे सही दिशा में ले जाते हैं या कुछ उदाहरण प्रदान करते हैं। धन्यवाद!
मैं अपने BinaryTree क्लास और 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;
}
}
यह एक स्व द्विआधारी खोज वृक्ष संतुलन पर विचार किया जाएगा?













