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

Matlab, 33.A juice company manufactures one-gallon bottles of three types o...

33.A juice company manufactures one-gallon bottles of three types of juice blends using orange, pineapple, and mango juice. The blends have the following compositions: 1 gallon or

Details of load sharing facility resource management, Primary objectives/de...

Primary objectives/details of Load Sharing Facility Resource Management Software (LSFRMS) are better resource utilisation by routing task to most suitable system as well a better u

What is a decoder, What is a Decoder ? Ans. Decoder: - This dec...

What is a Decoder ? Ans. Decoder: - This decodes the information. The decoders contain n inputs 7 at the end maximum 2 n outputs since n bit no can decode max 2n infor

Which method is used for resolving data dependency, Which method is used fo...

Which method is used for resolving data dependency conflict by the compiler itself?  (A) Delayed load.   (B) operand forwarding.   (C) Pre fetch target instruction.  (D) loo

How to create a new object order preference, 1. In an ASCII editor, make an...

1. In an ASCII editor, make an empty text file with the extension .ord. 2. Save the file in the Dat folder of the project. 3. Click To o l s > G UI R e c o r d O p t i o n s

What is priority interrupt, What is Priority interrupt. It is a system ...

What is Priority interrupt. It is a system that establishes a priority over the several resources to determined which condition are to be serviced first when two or more reques

Example of blocking probability for the three stage network, A three stage ...

A three stage network is realized by using switching matrices of size p x s in stage 1, r x r matrices in stage 2 and s x p matrices in stage 3. Using the Lee's probability graph s

What is cursor, The illustration of the mouse on-screen. Depending on your ...

The illustration of the mouse on-screen. Depending on your settings, the cursor can be many dissimilar things.

What is set screen, SET SCREEN With SET SCREEN the present screen simpl...

SET SCREEN With SET SCREEN the present screen simply specifies the next screen in the chain , control branches to this next screen  as soon as the current screen has been proce

Translator for low level programming language, Translator for low level pro...

Translator for low level programming language were called as    Assembler

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