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 semaphores, What is semaphores?  A semaphore 'S' is a synchroni...

What is semaphores?  A semaphore 'S' is a synchronization tool which is an integer value that, apart from initialization, is accessed only by two standard atomic operations; wa

Write a program to find the area under the curve y = f(x) be, Write a progr...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b

What are the important tools of a three-tier client server, What are the im...

What are the important tools of a three-tier client server? In a three-tier or multi-tier environment, there the client implements the presentation logic or the client. The bus

Software engineering, #quest2. Each time a defect gets detected and fixed, ...

#quest2. Each time a defect gets detected and fixed, the reliability of a software production..

Operator, write algorithm and draw flowchart for exchange the values of two...

write algorithm and draw flowchart for exchange the values of two variables.

Various phases of consumer merchantile model, What are the various phases o...

What are the various phases of consumer merchantile model and also differentiate between prepurchase interaction & post purchase interaction.    There are three phase of consumer

Registers used in IA-64 architecture, Q. Registers used in IA-64 architectu...

Q. Registers used in IA-64 architecture ? Registers: The IA-64 architecture comprises a very generous set of registers. It has an 82-bit floating point as well as 64-bit inte

What are language processor development tools, What are Language Processor ...

What are Language Processor Development Tools (LPDTs)? LPDT that is Language processor development tools focuses upon generation of the analysis phase of language processors. T

Move a layout cell, If you need to line up the cells next to each other you...

If you need to line up the cells next to each other you can resize and move layout cells as you need. You can change size of a layout cell by using one of its resize handles. Yo

Analog-to-digital conversion process, A stationary random displacement sign...

A stationary random displacement signal was digitised at 64 samples a second and analysed to obtain an auto-spectral density.  The signal was calibrated in mm units.  The frame siz

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