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

Nature of intelligence, From the early AI pioneering stage the research ...

From the early AI pioneering stage the research emphasis has been on developing machines with intelligent behaviour. Machine intelligence however is hard to achieve. Some

standard console application, Three projects as follows: a. Life  stati...

Three projects as follows: a. Life  static library, code for every needed  function in the Life program. b. LifeGame  .exe application, i.e., a standard console application t

Database management system, what is time out based schemes in concurrency c...

what is time out based schemes in concurrency control

Write an applet, Write an applet that can interact with both the HTTP clien...

Write an applet that can interact with both the HTTP client and HTML interpreter in a browser.  import java.applet.*; import java.net.*;                        // import pac

Determine the input and output devices, I/O devices need to be matched up t...

I/O devices need to be matched up to computer application. -  Computer-aided design (graph plotters, large screens, etc.) -  Virtual reality (data gloves, data goggles, etc.)

Explain the daa instruction, Explain the DAA DAA instruction follows th...

Explain the DAA DAA instruction follows the ADC or ADD instruction to adjust the result into a BCD result. DAA instruction functions only with the AL register, this addition sh

Limitation of software engineering, i want to get answer about this topic w...

i want to get answer about this topic what is software engineering and what is its limitation

State the relative addressing, State the Relative addressing The locati...

State the Relative addressing The location of data is specified relative to current value of the program counter. This is helpful for specifying location of data which is given

How can i handle floating-point exceptions gracefully, 'On many systems, yo...

'On many systems, you can describe a function matherr which will be known as when there are certain floating-point errors, like errors in the math routines in .

Typewriters information distribution, TYPEWRITERS : Typewriter is the most...

TYPEWRITERS : Typewriter is the most common machine used in almost all offices. Typewritten letters are attractive in appearance as compared to handwritten ones. The same matter c

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