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

Combined parallel work-sharing constructs, Q. Combined Parallel Work-sharin...

Q. Combined Parallel Work-sharing Constructs? Combined parallel work sharing constructs are shortcuts for specifying a work sharing construct nested instantaneously in a parall

Determine the analog output voltage of 6-bit DAC, Determine the analog outp...

Determine the analog output voltage of 6-bit DAC (R-2R ladder network) with Vref as 5V when the digital input is 011100. Ans. The analog output for 6-bit R-2R DAC ladder network

Learning algorithm for multi-layered networks, Learning algorithm for multi...

Learning algorithm for multi-layered networks: Furthermore details we see that  if S is too high, the contribution from w i * x i is reduced. It means that t(E) - o(E) is mu

Give a technical description of e-mail, E-mail system is mostly used for se...

E-mail system is mostly used for sending message electronically to group or individuals of individuals in inter and intra office environment. It needs networks to connect them. In

Determining the error models that affect program execution, In critical com...

In critical computer applications the correctness of a delivered output and the continuity of the required service beside the speed of the used CPU are the most important measures

Describe about pascaline, Q. Describe about Pascaline? Blaise Pascal ma...

Q. Describe about Pascaline? Blaise Pascal made very first attempt in the direction of automatic computing. He invented a device that comprised lots of gears and chains that us

Define the meaning of registers and counting, Define the meaning of Registe...

Define the meaning of Registers and Counting? Registers: Group of flip-flops use for data storage. Counting: Another extremely important application of flip-flops is in dig

What are the event key words in interactive reporting, What are the event k...

What are the event key words in interactive reporting? Event Keyword                                                 Event AT LINE-SELECTION         Moment at which the u

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