Binary search, Computer Engineering

Assignment Help:

Binary Search

Now that the basic framework is working, it is time to begin implementing a few alternative search functions. Each of these search algorithms have strengths and weaknesses, depending on the distribution of the input and the search keys used. The classic solution to this problem is binary search. Binary search is a divide-and-conquer algorithm. See Levitin [2007] pp 162 for a detailed description of this algorithm.

ALGORITHM BinarySearch (A[0 . . . n - 1], k)
// Non-recursive binary search in an ordered list.
// INPUT : An array A[0 . . . n - 1] of ordered elements, and a search key k.
// OUTPUT : an index to the position of k in A if k is found or -1 otherwise.
1: l ← 0; r ← n - 1
2: while l ≤ r do
3: m ← ⌊(l + r)/2⌋
4: if A[m] = k then
5: return m
6: else if k < A[m] then
7: r ← m- 1
8: else

9: l ← m+ 1

10: return -1

Algorithm BinarySearch shows the pseudocode for this solution. Implement the algorithm.


Related Discussions:- Binary search

Explian service topologies, Explian Service Topologies Service Topolog...

Explian Service Topologies Service Topologies In a service-based architecture there increase dependencies between services resulting from cooperation

Typicality of virtual addresses, The typicality of virtual addresses is tha...

The typicality of virtual addresses is that: They are longer than physical addresses because total addressed memory in virtual memory is more than actual physical memory.

Find farthest distance from exchange where subscriber locate, An exchange u...

An exchange uses a -40 V battery to drive subscriber lines. A resistance of 250 ohms is placed in series with the battery to protect it from short circuits. The subscribers are req

Determine the simplified sop boolean expression, Reduce the following equat...

Reduce the following equation using k-map Y = BC‾D‾ + A‾BC‾D + ABC‾D + A‾BCD + ABCD Ans. Multiplying the first term with (A+A') Y = A'BC'D' + ABC'D' + A'BC'D + ABC'D + A'BCD + A

State the Process of sending signals to televisions, Determine about the Si...

Determine about the Signals to televisions Signals to televisions are now sent digitally thus need a computer to interpret as well as decode these signals into a sound/picture;

Operation of micro controller, Consider the hardware design as shown. Withi...

Consider the hardware design as shown. Within the target system the EPROM would contain the hex data as shown below   Address  Assembly code   8000             86   8001

Dynamic partitioning - computer architecture, Dynamic partitioning: To...

Dynamic partitioning: To rise above from difficulties with fixed partitioning, partitioning can be done dynamically, which called dynamic partitioning. Having it, the primary

I have a user defined function that does not recalculate, Contain all the c...

Contain all the cells that your UDF depends on in the argument list. Or enter this as the first statement in your Function: Application.Volatile This will cause the functi

What are subroutines, What are subroutines? Subroutines are program mo...

What are subroutines? Subroutines are program modules, which can be known  from other ABAP/4 programs or within the similar program.

What is a mutable member, One that can be modified by the class even when t...

One that can be modified by the class even when the object of the class or the member function doing the modification is const.

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