How To Save Results / Inputs For A Binary Search Algorithm
Apr 24, 2014
Is there a way that I can save a binary search algorithm to a text file or something, so that it will always contain more information? The reason why I ask this is because I have BST like project which is supposed to act the game Twenty Questions, were it asks a person 20 Q's until it guess the answer. However, although my project does not require you to save stuff to a file, I find it rather very useful and cool if I could do that.So for example it would start out something like this:
Think of an animal and I will guess it.
Does it have legs? YES
Is it a cat? YES
I win! Continue? YES
Think of an animal and I will guess it.
Does it have legs? NO
Is it a snake? YES
I win! Continue? YES
Think of an animal and I will guess it.
Does it have legs? NO
Is it a snake? NO
I give up. What is it? EARTHWORM
Please type a question whose answer is yes for an earthworm and no for a snake.
DOES IT LIVE UNDERGROUND?
Continue? YES
Think of an animal and I will guess it.
Does it have legs? NO
Does it live underground? NO
Is it a snake? NO
I give up. What is it? FISH
Please type a question whose answer is yes for an earthworm and no for a snake.
DOES IT LIVE IN WATER?
Continue? NO
Good-bye.
However, if the user exits the program then everything will be lost and go to waste. So once again, is there a way that I can save all of these inputs to a file or something and then read it in again?
I don't see any nodes that I add. Not sure why getting this error.
duplicate found Exception in thread "main" java.lang.NullPointerException at binarysearchtree.delete(binarysearchtree.java:111) at binarysearchtree.main(binarysearchtree.java:196) Java Result: 1 public class node<T>
I am trying to make a program that compares the 3 different search algorithms(sequential/binary/hashing). I have already made the sequential search algorithm, binary and hashing part of the code.My program OPENS a data file, and then OPENS a key data file. and then searches through them using both. How to go about the binary and hashing search algorithm (in the driver program).
*I have included a zip file with: -base program -driver program -data file -key data file
This was my initial question: I am confused as to why this won't return the desired value. I keep running into an infinite loop or data is returned that I searched.
I still need to work on whether a user enters a search that doesn't exist......that is where I am stuck....
code has been updated......
int low = 0; int high = subArray.length; while (low < high) { System.out.println("You have entered the while loop"); int mid = (low + high) / 2;
I'm trying to build a method that can search a binary search tree for a specific target and then return the number of probes it took to get there. It seems to me that the best way to do this would be a recursive search method and a counter that tracks the number of calls. But I'm struggling with how to implement this. Here's the code I have so far. what works/doesn't work with the method.
// Method to search the tree for a specific name and // return the number of probes public T search(BTNode<T> btNode) {
I develop a little app in javaee6 and jsf2. I have a search page which has a search form with 2 fields and a search button when i click search button the results should be displayed in searchresults page.
Issue: searchresults page is is not displaying records though it fetched records from table I'm able to achieve this using search bean as session scope but i want to use the scope as Requestscope.
I am trying to write a program for converting positive binary inputs into hex.Why am i getting this errors while compiling my binary to hex converter..
Exception in thread "main" java.lang.NumberFormatException: For input string: "148.0" at java.lang.NumberFormatException.forInputString(Num berFormatException.java:65) at java.lang.Long.parseLong(Long.java:441) at BinToHex.convertbintohex(BinToHex.java:24) at Test.main(Test.java:4)
Here is my BinToHex class
import java.io.*; public class BinToHex { double tempDec,fractionpart; long longofintpart,templongDec; String inpu ="1001.01"; String hexOutput,intpart,tempDecString,hex = null;
I am trying to write a program for converting positive binary inputs into hex. in the hex output the point (".")is missing.
Suppose my expected output is e7.6 , but i am getting e76
only the "." is missing.
here is my BinToHex class..
import java.io.*; public class BinToHex { double tempDec,fractionpart; long longofintpart,templongDec; String input ="11100111.011"; String hexOutput=null,tempDecString,hex = null; static int i = 1;
I am using a GUI to display search results based on user's input server name. I am using MS Access as DB and I have the DSN set up correctly.But the search results are displayed for the first typed value in text filed. I am getting same result set every time though i input different server names .
import java.sql.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.DefaultTableModel; public class SearchResult implements ActionListener{
I am using what is known as a Depth First Search to solve a maze using my own Stack created class for an assignment. The reason I believe I am getting this error is because my program is never meeting the `finishSpot` condition. I have used the debugger and it looks like it is infinitely stuck at the Point before the `finishSpot`. My logic seems to be mostly correct except until the point where my maze solver tries to finish the maze.
This is a sample maze:
***** *s* * * * * * f* *****
Here is my Main which uses my created Stack class.
//Creates a Stack and determines the start and endpoints. public static void solveDFS( char [][] maze ){ LinkedStack stack = new LinkedStack(); Point currentSpot = findPoint( maze,'s' ); Point finishSpot = findPoint( maze, 'f' ); findPath( maze,currentSpot, finishSpot,stack );
I am using what is known as a Depth First Search to solve a maze using my own Stack created class for an assignment. The reason I believe I am getting this error is because my program is never meeting the `finishSpot` condition. I have used the debugger and it looks like it is infinitely stuck at the Point before the `finishSpot`. My logic seems to be mostly correct except until the point where my maze solver tries to finish the maze, so i just need meeting that last condition that is causing my program to crash.
This is a sample maze:
***** *s* * * * * * f* *****
Here is my Main which uses my created Stack class.
//Creates a Stack and determines the start and endpoints. public static void solveDFS( char [][] maze ){ LinkedStack stack = new LinkedStack(); Point currentSpot = findPoint( maze,'s' ); Point finishSpot = findPoint( maze, 'f' ); findPath( maze,currentSpot, finishSpot,stack );
[Code] ....
I made a mistake it says my program is crashing which it is not, but simply not meeting the condition.
The goal was to add a few buttons an add delete modify search and save. I feel like I have the entire need satisfied. I'm having a few symbol problems which I'm not quite sure how to fix.
which is directing me towards Prodname on the far right of the if statement. I'm not sure what the problem is. I've double checked my spellings several time for each spot and I cant quite get it.
Everyone has told me but I am aware that I made some bad decisions with the variables being capitalized this was my first go at a program and my instructor didn't let me know that thats the normal way to do it.
I have been working on a program that takes in a 2d array (there is a method to convert to 1d as necessary) and uses it as an 8 puzzle, which the program then solves (if it is solvable) using the A* Search algorithm, outputting each solution move. It needs error checkers/traps/exception handlers, and be able to create an 8 puzzle from user input, create an 8 puzzle from file input, and create an 8 puzzle from file input and then output to another file the solution move sequence. I have gotten nearly everything done except for implement the algorithm itself and the methods for handling input from files or output to files (the input/output file methods are a minor problem that I can probably solve fairly easily, I just want to be able to test the a* with the puzzle created from user input first.
I have taken several cracks at it, but I am not really good with Java in this type of situation and this is hurting me a lot. I have put in a method to determine if a puzzle is solvable, but the A* algorithm still eludes me. I understand the concept of the algorithm, you have a heuristic function, a cost function (each move equals 1 in this case), and you add the two together to get f(n), choosing the move that will get you the closest to your goal (best first search basically). here is what I have so far that works:
import java.io.File; import java.io.IOException; import java.util.Queue; import java.util.Scanner; public class Puzzle { public static void main(String[] args) throws IOException {
[Code] ....
I have it outputting things to make sure all that works already, I have all the error handlers, but I think that before I can even implement the A*search algorithm, there may be something else I need. Conceptually, I understand I need Nodes, States and Stacks, and Queues (I think, I am not sure about this), but with the way my code has been made so far, I am not sure how to implement those and then implement them with the A* algorithm. What I should do next? I have looked at the code of other uses of A* algorithm(that is how I found out I might need Java data structures like queue and stack and list), but I am not sure exactly where to go to from where I am.
Coding (must follow pseudocode algorithm provided) for comparing characters of a word to a puzzle board char[][].
I've gotten the horizontal and vertical searches to work, but I'm having a difficult time figuring out how to search diagonally.
Here's the search algorithm format I have to use:
for each guess word for each letter of the puzzle for each letter of the guess word check for diagonal match if found, add word to list, break to next guess
I'm assuming there should be a +1 horizontal offset after I find the first letter, but every index I've bumped has caused me to screw up my array bounds. I'm missing something.
Here's the algorithm I'm using for diagonal search. This same algorithm worked for vertical search (minus the offset of course)
//diagonal search for(String word : guessWords) {//for each guess word int letterCount = 0; int index = 0; for(int j=0; j<grid[index].length; j++) {//for each puzzle letter
I have created a binary search with 3 subsets, some aslo call it a ternary search and have come up with a minor problem. If you run the code as posted below it just runs until you quit it. If anyother value in the array is searched it is found.
/* public class BinarySearchDemo { public static void main(String[] args) { String[] songs = {"Ace Of Spades", "Beyond the Realms Of Death", "Breaking The Law",
How do I make it so I am able to enter any number rather then just the numbers in the arrays? I want it to be able to find the position of any number between 0-100.
import javax.swing.*; public class BinarySearch { public static void main(String[] args) { int array[] = new int[11]; array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 40; array[4] = 50; array[5] = 60;
The point is to use a binary search to determine how many steps it would take to get to int X, int Y in a grid that is N by N. Picture a parking lot that is square and your car is at (x,y). You can honk your horn from your key to determine the direction of the car. I need to return the amount of steps to get to the car. You can't step diagonally. I am currently getting an error that causes an infinite loop and I can't fix it.
public class ParkingLot { public int search(int N, int X, int Y) { int minX = 0, maxY = N, minY = 0, maxX = N; int num = 0; int curX, curY; int newCurX, newCurY; curX = (minX + maxX)/2; curY = (minY + maxY)/2; while (curX != X || curY != Y)
Righto, so I've crafted a binary search and a sequential search. The sequential search works perfectly fine.
However; my binary search doesn't. If I enter in incorrect data, it tells me the data I entered was incorrect. But if I enter in correct data, my sequential search tells me my datas correct, but binary search tells me I'm still incorrect. Here's my binary search + the test program.
If an array has been sorted using a comparator then why is it necessary to pass on that comparator to the binaryserach method. What I want to know is that how come the presence of a comparator reference affect the way the algorithm works?
Doing an early exercise out of the Java Examples in a Nutshell book and they are asking for 'an efficient search algorithm to find the desired position' of two floats in a sorted array that bound an int. My try is below:
public static int search(int searchnum, float[] nums){ int low = 0; int high = nums.length - 1; int mid = (low + high) / 2; while(low < high){ if(nums[mid] < searchnum){
[Code] ....
This is working for the example but I would like to know if it is considered 'efficient' or even good?
I am currently taking a class thats requires me to use flowcharts in a way t figure out algithrims This is the flowchart that i need to use: [URL] .....
This is my current code.
public int binSearch(int target) { int first = 0; int last = count -1; int found =0; int middle=0; while (first <=last && found == 0)
I'm just getting two errors concerning line 38 where it has Arrays.sort(int roomList); and the errors state that ".class is expected" and so is a semicolon. What did I do wrong? Also, how might I tweak the code to display "Occupied" or "Unoccupied" depending on the room that was entered?
Also we're not allowed to make use of API method for binary search so that's out of the question.
import java.util.Scanner; import java.util.Arrays; public class HotelRoom { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); int[] roomList = new int[25]; // occupied rooms