Constructing Expression Trees In Java By Using BST
May 5, 2014
In this i Write a Java program to parse a syntactically correct arithmetical expression and produce an equivalent Expression TREE. Remember, in an expression tree the terminal nodes are variables and constants, and the interior nodes are operators (such as +,-,*,/). For instance the expression: (1 + 2) * 3 can be represented by the following tree:
I Write a Java program to parse a syntactically correct arithmetical expression and produce an equivalent Expression TREE. Remember, in an expression tree the terminal nodes are variables and constants, and the interior nodes are operators (such as +,-,*,/).
For instance the expression: (1 + 2) * 3 can be represented by the following tree:
But when i Execute the program it Shows only Prefix and postfix .But the requered output is in inorder preorder and postorder so how to solve these error
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; import javax.swing.tree.TreeNode; public class InToPost { private static String str;
I have to create a dictionary in java using search trees. I have problems with the methods put() and remove(). Working properly, ie correctly adds a new element and eliminates correctly. But I should improve a few things.
As you can see from the interface, both methods must return an element of type V, that is:
- case put(): returns the previous value associated with key (or null if the key was not associated with any value) - case remove(): returns the value associated with the key (or null if the key was not present in the dictionary)
I do not understand how come my put method always returns null even though in reality I make him return node.getElement().
Instead, the remove() method does not know how to modify it to make sure it returns the value associated with the key. If I change the helper method return value in V (instead of Node<K, V>) method does not work anymore...
How can I then edit these two methods?
Class SearchTree: public class SearchTree<K extends Comparable, V> implements Dictionary<K, V> { public int size; public Node<K, V> root; public SearchTree() { root = null; size = 0;
Write a program to reverse sentences (demarked by a period) in a paragraph (demarked by an empty line input from the console) using any list of your choice.13. Create a vector that stores N numbers.
i need to reverse sentences in a paragraph.the sentences end with a period and the paragraph ends with a newline.
i tried to construct Vector<String> and Vector<Vector> reading input from scanner, but that didn't work because scanner skips newlines.
I'm really trying to understand an example on how to construct a good suffix table for a given pattern. I've looked at numerous examples, but do not know where the numbers come from.
So here goes: The following example is a demonstration of how to construct a Good Suffix Table given the pattern ANPANMAN:
I have a question related to trees in Java. The following code is given:
public class BinarySearchTree { private Node root; public BinarySearchTree() { this.root = null; } public BinarySearchTree(Node root) {
[Code] ....
The inorder-method is the one that really imports. I have to go through a tree using the Inorder-method. I do understand how this works, however I don't understand how the code fits to the inorder process. I understand the code up to the point where it reaches the most left "root", but then I do not know how to go further. How do I reach the root above then?
I need a regular expression in java for phone number which that does not allow any character special character only numbers should be allowed.. My sample program is
import java.util.regex.Matcher; import java.util.regex.Pattern; public class c { public String removeOrReplacePhoneNumber(String input) { if (null == input) return input;
We are working with LinkedBinarySearchTrees. One of specs on my assignment is to "Using a level-order traversal, create a 2-D display of your trees, using the forward and back slashes as the branch lines. The tree nodes should be spaced proportionally to show the structure of the tree neatly."
I need to parse an html web page to extract specific information from the tags in Java. For example,
<b>Species </b> Strain </td>
I need to look for the Strain info (Strain is variable in length) in the page. The whole web page is stored as a huge string. I need a regular expression that can identify all the Species and retrieve their corresponding strain info. how to do this or can propose some clever string manipulation methods in Java.
I am trying to implement an example (Book* : Java SE 7 ..By S G Ganesh) for validating an IP address but it fails to validate a valid IP addresses. I found another example on the internet(**) and it works super fine, no problem at all. I edited the code (the one I got from internet) into the exact format like book and it still works super but i don't understand why the books' example doesn't work though both look exactly the same now ,further more, how can i compare String x and y for equality?
public class TestClass { void validateIP(String ipStr) { String one = "((25[0-5]|2[0-4]d|[01]?dd?)(.)){3}(25[0-5]|2[0-4]d|[01]?dd?)"; //copied from internet and edited String two = "((25[0–5]|2[0–4]d|[01]?dd?)(.)){3}(25[0–5]|2[0–4]d|[01]?dd?)"; // copied from book String x = "((25[0-5]|2[0-4]d|[01]?dd?)(.))"; String y ="((25[0–5]|2[0–4]d|[01]?dd?)(.))";
I am trying to clear all graphical objects of a certain type(all trees in particular). I have never had any issues doing so, and this method normally works well along with these variables:
Java Code:
public static ArrayList<GRect> historyT; public static ArrayList<GOval> historyL; public static GRect trunk; public static GOval leave; public void deleteTrees() { //clears all tree trunks and leaves
[Code]...
That is this normally worked until I started added more trees to the screen after they had all been erased. What happens is that it won't clear all of them unless the max has been reached, that is 6. It will remove all trees up till the last one if the max has not been reached. In other words here is my screen before the clear all if the max has not been reached(* is a tree, _ is erased): ****
Here is it after: _ _ _ _ *
So my question is, is why aren't all the trees deleted? Why does it leave one left behind?
Suppose that a certain BST has keys that are integers between 1 and 10, and we search for 5. Which sequence below cannot be the sequence of keys examined?
I've noticed many differences, such as there is only one with an odd number of keys, and one has all integers from 1-10 inside of it, but I can't find any real reason that you wouldn't be able to search it?
The area of a square is stored in a double variable named area . Write an expression whose value is length of the diagonal of the square. Do I use math.sqrt?
the boy is smart He is from Australia ** Highly important line That's all
Now, I need a regular java expression that would match a line in this file that begins with the ** characters. That is, when I match the text with the regex, I should get only this line :
In a forest, there are some bamboo trees .The length of each tree get doubled during winter and increases by one unit in summer , write a Java program to calculate the total length of n number of bamboo trees in M number of seasons. The season always starts with winter.
import java.util.Scanner; public class Tree { public static void main(String args[]) { int length; int season;
The program i am working on is to take string from the user which should be a phone number then it will return true or false based upon the method that checks to see if it meets the criteria of a certain format if does not it will return false otherwise return true. I am working on a if/else structure that will print this number is valid if it meets the criteria of the method i previously mentioned or return the number is not valid if it is false. the logic of the expression i put in the parentheses of the if/else statement. This is what i have so far:
if(){ System.out.println("The phone number is valid"); } else { System.out.println("This isn't a valid phone number"); }
Do i need to compare it based upon the method that checks if it is true?
I am working on a program to evaluate an expression without brackets using stacks. I am getting the following error :
3+1*2+4 -2.0
Exception in thread "main" java.util.EmptyStackException at java.util.Stack.peek(Stack.java:102) at java.util.Stack.pop(Stack.java:84) at assignment2.Evaluate.main(Evaluate.java:42)
I imported the Stack from java.util.Stack
package assignment2; import java.util.Scanner; import java.util.Stack; public class Evaluate { public static void main(String[] args) { Stack<String> ops = new Stack<String>();
[Code] ....
What is causing this error? Does it look like the program should function as intended?
So everything in my program is working EXCEPT when it comes to calculating the result. I am supposed to evaluate the expression using postorder traversal to return the answer. I am honestly not sure how I would get the postorder traversal to return the answer to the expression since the only thing we really went over was how it re-ordered the expression so that it would end in the postorder/postfix order. Anyways, currently the way that I have the public int evaluate(Node node)method set up is giving me a result of 0, which obviously is not correct.
Here's the section that I'm having issues with:
public int evaluate(Node node){ if(node.isLeaf()){ return Integer.parseInt(node.value); } int result = 0; int left = evaluate(node.left); int right = evaluate(node.right);