For those who are new to Binary Search Tree, note that Binary Search Tree is defined as tree that satisfy some of the following criteria:
Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.
Pay attention to some of the following:
public class BinaryStringTree { private String data; private BinaryStringTree left; private BinaryStringTree right; public BinaryStringTree() { this.data = null; this.left = null; this.right = null; } public BinaryStringTree(String data) { this.data = data; this.left = null; this.right = null; } public static BinaryStringTree createTree( String content ) { BinaryStringTree bstree = new BinaryStringTree(); if( content != null ) { // // Remove the punctuation from the content // content = content.replaceAll("(\\w+)\\p{Punct}(\\s|$)", "$1$2"); String[] words = content.split( " " ); bstree = new BinaryStringTree(); for( int i = 0; i < words.length; i++ ) { bstree.addNode( words[i] ); } } return bstree; } // As a convention, if the key to be inserted is less than the key of root // node, then key is inserted in // left sub-tree; If key is greater, it is inserted in right sub-tree. If it // is equal, as a convention, it // is inserted in right sub-tree public void addNode(String data) { if (this.data == null) { this.data = data; } else { if (this.data.compareTo(data) < 0) { if (this.left != null) { this.left.addNode(data); } else { this.left = new BinaryStringTree(data); } } else { if (this.right != null) { this.right.addNode(data); } else { this.right = new BinaryStringTree(data); } } } } public void traversePreOrder() { System.out.println(this.data); if (this.left != null) { this.left.traversePreOrder(); } if (this.right != null) { this.right.traversePreOrder(); } } public void traverseInOrder() { if (this.left != null) { this.left.traverseInOrder(); } System.out.println(this.data); if (this.right != null) { this.right.traverseInOrder(); } } public void traversePostOrder() { if (this.left != null) { this.left.traversePostOrder(); } if (this.right != null) { this.right.traversePostOrder(); } System.out.println(this.data); } }
Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…
Hey there! As I venture into building agentic MEAN apps with LangChain.js, I wanted to…
Software-as-a-Service (SaaS) providers have long relied on traditional chatbot solutions like AWS Lex and Google…
Retrieval-Augmented Generation (RAG) is an innovative generative AI method that combines retrieval-based search with large…
The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…
Have you ever wondered how to use OpenAI APIs to create custom chatbots? With advancements…
View Comments
so please can you tell me how can add a contractor to find the node?