Recursive binary search, Computer Engineering

Assignment Help:

The implementation of a (non-recursive) binary search of an array. The assumption is that a given array is sorted. We want to see if a particular value, that we'll call the target value, is in that array and, if so, where. In a binary search one checks the value in the middle of the array, i.e., if there are N elements in the array, one checks if the element with index (int)N/2 matches the target. (Note that if there are an even number of elements in the array, there is no true mid-point. The element with an index of (int)N/2 has one more element "below" it than it does "above" it.) If the value in the middle of the array is less than the target, then the function searches the portion of the array that is above the current middle, i.e., the new array to be searched starts with the element above the current middle and there are N - (int)N/2 - 1 elements in that. If the value in the middle of the array is greater than the target, then the function searches the portion of the array that is below the current middle. In this case the new array to be search starts where the original array started but now it is considered to have N - (int)N/2 elements. When the function is given an array of one element and if there is no match, the function returns NULL. (Or, if there is nothing left to search, e.g., there are no more elements "above" the current mid-point of a two-element array, the function returns NULL.) If there is a match, the function returns the address of the element that matches the target. Write a function called bin search() that takes three arguments: an integer pointer, the number of elements, and the value to be searched for (the target value). As indicated above, if the target is found in the array, the function returns the address (i.e,. an integer pointer) where the target was found. If the value is not found, it returns NULL.


Related Discussions:- Recursive binary search

Arrays of any size, Modify your program so that the line "int numStones = u...

Modify your program so that the line "int numStones = ui.readStones();" in the Game constructor is considered. Depending on the value of numStones read from the user, you should cr

Implement the concept of true and radix minus one complement, Q. Develop a...

Q. Develop a program to implement the concept of true and radix minus one complement. Program should ask for radix and two numbers from that radix. For that two numbers program

What is performance testing in loadrunner, Timing for both read and update ...

Timing for both read and update transactions should be gathered to verify whether system functions are being performed in an acceptable timeframe. This should be done standalone an

RISC performance using optimizing compilers, Q. RISC Performance using opti...

Q. RISC Performance using optimizing compilers? Performance using optimizing compilers: As instructions are simple compilers can be developed for efficient code organization a

How to join to mwseries from power builder 8.0, Using CICS Transaction Gate...

Using CICS Transaction Gateway we can join MQ Series with Power Builder 8.0

Interaction goals, Most interactive products aim to satisfy a variety of us...

Most interactive products aim to satisfy a variety of usability and user experience goals. Fully satisfying all of these goals is rarely, if ever, feasible, either because of pract

Cognitive science applications, This branch of AI is concerned with incor...

This branch of AI is concerned with incorporating knowledge from varied disciplines such as biolog neurology psychology mathematics and several linked disciplines. It is typic

What is npblox framework, Designed, developed, tested and documented the de...

Designed, developed, tested and documented the demo created for NPBlox framework. NPBlox framework is a framework which enabled developers to create CLI/WEB/SNMP interfaces for

Find the boolean expression for boolean algebra, Find the Boolean expressio...

Find the Boolean expression for logic circuit shown in Figure below and reduce it using Boolean algebra. Ans. Y = (AB)' + (A' + B)' = A' + B' + AB' by using Demorgan's Theorem. =

What is the difference among thread and process, Thread is a least unit of ...

Thread is a least unit of process. In process have one or more thread.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd