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

Problem based on banker''s algorithm, A system contains 10 units of resourc...

A system contains 10 units of resource class Ru. The resource requirements of three user processes P1, P2 and P3 are as follows

Write a bash-c shell script, Write a BASH/C shell script which takes a name...

Write a BASH/C shell script which takes a name of a directory as a command line argument, and prints unique login name of the users having files in that directory. Your code should

Describe the booch methodology, Object Oriented Analysis and Design 1. ...

Object Oriented Analysis and Design 1. What are the advantages of object-oriented systems? 2. Describe the Booch Methodology. 3. Justify that UML is a language for modeli

Which important terminal required between dte and pstn, An important termin...

An important terminal that is required between DTE and PSTN is (A)  Server                                      (B) MODEM (C)  Relay

Single program multiple data, SPMD is actually a "high level" programming m...

SPMD is actually a "high level" programming model that can be built upon any combination of the previously mentioned parallel programming models. A single program is executed by al

Does xml replace html, No XML does not replace HTML. Instead, it gives an a...

No XML does not replace HTML. Instead, it gives an alternative which permits you to explain your own set of markup elements. HTML is expected to stay in common use for some time to

Compare memory mapped i/o with i/o mapped i/o, Compare memory mapped I/O wi...

Compare memory mapped I/O with I/O mapped I/O. Memory Mapped I/O Scheme: In this scheme there is only one address space. Address space is stated as all possible addresses tha

The constructed datatype of c, The constructed datatype of C is known as ...

The constructed datatype of C is known as Structure is a constructed datatype of C.

Extension of propositional logic, Extension of propositional logic: Aw...

Extension of propositional logic: Away from proving  theorems directly, and the other main use for rewrite rules is to prepare a statement just for use before we search for th

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