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

Java, what is inheritence and all types in java?

what is inheritence and all types in java?

What are the different auto reports available in access, What are the diffe...

What are the different auto reports available in Access? The dissimilar auto reports available in Access are: Columnar AutoReport: makes a report where each row is shown ver

First-order logic - artificial intelligence, First-Order Logic We, as h...

First-Order Logic We, as humans, have always prided ourselves on our ability to think things through for this reason things are out and come to the only conclusion possible in

Events by which we can program "help texts", What are the events by which w...

What are the events by which we can program "help texts" and display "possible value lists"? -PROCESS ON HELP-REQUEST (POH). -PROCESS ON VALUE-REQUEST (POV).

Explain the term- software, Explain the term- Software Some of the key ...

Explain the term- Software Some of the key aspects of software are considered in this section. Familiarisation with software packages is generally best achieved by carrying out

4 bit comparator, how to breadboARD THE 4 BIT COMPARATOR

how to breadboARD THE 4 BIT COMPARATOR

Memory system considerations - computer architecture, Synchronized with a c...

Synchronized with a clock signal Memory system considerations Speed Cost Size of chip Power dissipation Memory controller Refresh Overhead

Explain analysis and synthesis phase of a compiler, Explain analysis and sy...

Explain analysis and synthesis phase of a compiler. The synthesis and analysis phases of a compiler are: Analysis Phase: In this breaks the source program in constituent

Which work process triggers database changes, Which work process triggers d...

Which work process triggers database changes? Update work process

What are sequential algorithms, What are Sequential Algorithms? The cen...

What are Sequential Algorithms? The central assumption of the RAM model is that instructions are implemented one after   another, one operation at a time. Accordingly, algorith

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