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

How reassembling of ip fragments is advantageous, Reassembling of IP fragme...

Reassembling of IP fragments at the ultimate destination is advantageous. Give reasons. Needing the ultimate destination to reassemble the fragments has two major advantages. F

Queue, A Queue is a FIFO ( rst in, rst out) data structure. Given the foll...

A Queue is a FIFO ( rst in, rst out) data structure. Given the following queue interface: public interface Queue { int size(); // current queue size boolean isEmpty(); //

Evaluate fixed execution time, The statement of Gustafson's law can be desc...

The statement of Gustafson's law can be described with the help of an illustration. Let us take a problem, say P, which has to be solved using a parallel computer. Let Ts be the ti

What is slack, What is slack? 'Slack' is the amount of time you have wh...

What is slack? 'Slack' is the amount of time you have which is measured through while an event ‘really happens' and while it ‘should happen’. The term ‘really happens' can a

Convert following decimal numbers into 9s & 10s complement, Q. Convert the ...

Q. Convert the following decimal numbers into 9s & 10s complement: 1) 3654 2) 99 3) 18.293 Q. Convert the following binary numbers into 1s& 2s complement: 1) 1101

Face scanning security system - biometric, Face Scanning Security System - ...

Face Scanning Security System - Biometric Computer Security Systems Finally, face scanning security system are also one of biometric technologies. Generally, the principle of

Define terms setup time and hold time violation, Define setup time and hold...

Define setup time and hold time, what will occur when there is setup time and hold tine violation, how to overcome it? For Synchronous flip-flops, we have particular requiremen

What do you mean by decoders, Q. What do you mean by Decoders? Decoder ...

Q. What do you mean by Decoders? Decoder transforms one kind of coded information to other form. A decoder has n inputs and one enable line (sort of selection line) and 2 n ou

What is polling, What is polling? Polling is a scheme or an algorithm t...

What is polling? Polling is a scheme or an algorithm to recognize the devices interrupting the processor. Polling is employed when multiple devices interrupt the processor by o

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