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

What is boot manager, An EFI boot manager is also used to select and load t...

An EFI boot manager is also used to select and load the operating system, removing the require for a dedicated boot loader mechanism

Operation research, how to implement a modified distribution method using c...

how to implement a modified distribution method using c/c++

Can you tell me some of system tasks and their purpose, Can you tell me som...

Can you tell me some of system tasks and their purpose? $display, $displayb, $displayh, $displayo, $write, $writeb, $writeh, $writeo. The most useful of these is $display. T

Explain about micro-instruction formats, Q. Explain about Micro-instruction...

Q. Explain about Micro-instruction Formats? Now let's focus on format of a micro-instruction. The two widely used formats employed for micro-instructions are vertical and horiz

What is the need of a hybrid in telephone networks, What is the need of a h...

What is the need of a hybrid in telephone networks? Digital exchanges need receive and transmit signals upon separate two-wire circuits. It calls for two-wire to four-wire con

Prove, state and prove distributive law?

state and prove distributive law?

Program accept decimal number and convert it into given base, Q Develop a p...

Q Develop a program that accepts decimal number and converts it into given base. Fractional numbers are allowed and negative numbers are not allowed. Also check that entered number

Interfacing assembly language routines, By now you can write procedures bot...

By now you can write procedures both internal andexternal and pass parameters particularly through stack.Let's us use these concepts to see how assembly language can be interfaced

What is single program multiple data, Q. What is Single Program Multiple Da...

Q. What is Single Program Multiple Data (SPMD) SPMD is in fact a "high level" programming model which can be built on any arrangement of previously described parallel programmi

Explain about quine mckluskey method, Q. Explain about Quine McKluskey Meth...

Q. Explain about Quine McKluskey Method? A tabular method was proposed to deal with increasing number of variables called Quine McKluskey Method. This method is appropriate for

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