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); } }
Large language models (LLMs) have fundamentally transformed our digital landscape, powering everything from chatbots and…
As Large Language Models (LLMs) evolve into autonomous agents, understanding agentic workflow design patterns has…
In today's data-driven business landscape, organizations are constantly seeking ways to harness the power of…
In this blog, you would get to know the essential mathematical topics you need to…
This blog represents a list of questions you can ask when thinking like a product…
AI agents are autonomous systems combining three core components: a reasoning engine (powered by LLM),…
View Comments
so please can you tell me how can add a contractor to find the node?