The binary search is an item that can be extremely beneficial when sorting out data. When there is a large amount, it makes more sense to do so as it will reduce the time needed to find the correct value if it exists. The process takes time but it is worth doing so if you need to know how to deal with sorting out a lot of information right away.
There are times that it is going to be necessary to do a search for specific data. It can be a large amount and in that case, it would be best to use the binary search. It is one that will reduce the amount of time and also headaches as well. The difficulty level of this program would be at the intermediate because of the skills that will be required.
#1: Having a very good program that works. Get something like Visual C++ at the minimum but if you can get Visual Studio, which would work just as well.
#2: Basic understanding of vectors is a must for this part.
#3: The ability to create classes and objects will be necessary.
#4: Having a very good understanding of different data types is necessary.
#5: Creating functions can be helpful especially in the class department since that is the primary focus.
#1: For the purpose of organizing it up, it would be recommended to create two files so that you can keep track of every area.
#2: Remember to create an object once the class is created. It has to be a space after the name of it.
#3: With vectors, the key to remember is to put in the library necessary.
#4: When working with multiple files and having one placed in the header, make sure to include it.
Writing the program
#1: Make sure to open up the program that is going to be used to write the C++ code. Use Visual C++ at the very least but if you have Visual Studio, it will work just fine.
#2: Create an empty project. Give it any name you want. Remember, the focus is going to be on the binary search.
#3: Normally, it would be creating one file but for this purpose, create two. Create a header file and give it a name. Create a source file next and make sure it includes the header.
#4: Write the program completely. Follow the screen shots for formatting purposes and to get an understanding on the way it can be done.
Figure 1 is showing the first portion of the header file. Notice the libraries and the constructor created. While the constructor doesn't need to be created, it would be best to create one that will suit the needs of the program.
Figure 2 is showing part of a function and how the binary search is performed.
Figure 3 is the final piece of the header file showing how to create a function in private.
Figure 4 is showing part of the code. Notice the header file is included.
Figure 5 is showing the final piece of the source code. It will continue to run until a negative value has been put in.
#4a: The alternate method can be with three files if you’re not comfortable with two. Follow the screen shot of the two files and note that the main one would remain identical.
Figure 6 is showing it with three files. The first one is using function prototypes and not expanding like the first figure is shown.
Figure 7 is showing the format for making a source file using the class. Notice the format in that it uses the class name with two colons.
Figure 8 just shows the rest of the code.
#5: Double check the entire code and make sure that there are no major mistakes in the mix.
#6: Once you’ve done that, go ahead and start to build the program completely. If there are some errors that need to be corrected, proceed to the next step.
#7: Correct the errors that appear. Look at the way the code is structured. After doing that, go back two steps and repeat the process.
#8: Run the Binary Search program. Run it both ways finding and not finding to ensure that it will work. Once you’ve done that, you just have written a program necessary to perform a binary search.
The difficulty level for this has to be in the intermediate level. To get it down with precision, it just takes time. The purpose of this was to show to perform that type of search and how it can be beneficial especially with large amounts of data.