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

Define the term internet, Internet:  The Internet, an umbrella term cov...

Internet:  The Internet, an umbrella term cover countless network and services that comprise a super-network, is a global network of computer networks that was started in the 1

Illustrate working of pocket and pc-card modems, Q. Illustrate working of P...

Q. Illustrate working of Pocket and PC-Card Modems? Pocket Modems: Small external Modems used with notebook PCs.  PC-Card Modems:  PC and Modems are read with PCMCIA slots w

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction and is machine architecture independent. A model can be executed on several hardware and memory architectures. There are various

Unlike ipv4 & ipv6 which field in base header not include, Unlike Ipv4, Ipv...

Unlike Ipv4, Ipv6 does not include which field in the base header? Unlike Ipv4, Ipv6 does not contain the Field for Fragmentation information into the base header.

Database management system, what is time out based schemes in concurrency c...

what is time out based schemes in concurrency control

Variable ordering - forward checking, Variable ordering - Forward checking:...

Variable ordering - Forward checking: Hence this is different from variable ordering in two important ways as:  Whether this is a dead end when we will end up visiting a

Which rule is used for the expansion of nested macro calls, The expansion ...

The expansion of nested macro calls done by using of? Ans. LIFO rule is used for the expansion of nested macro calls.

Difference between relocatable and self relocatable programs, Difference be...

Difference between relocatable and self relocatable programs. A relocatable program is one which can be processed to relocate it to a selected area of memory. For illustratio

What is DRAM and what do you understand by DRAM refreshing, What is DRAM? ...

What is DRAM? What do you understand by DRAM refreshing? With the help of a block diagram, demonstrate how DRAM can be interfaced to a microprocessor. Dynamic RAM (DRAM) is bas

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