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

Displacement addressing mode - computer architecture, Displacement and  Sta...

Displacement and  Stack Addressing  mode - computer architecture: Displacement Addressing: In displacement addressing mode there are three types of addressing mode. They

Desirable choice for the partitioning element in quick sort, A desirable ch...

A desirable choice for the partitioning element in quick sort is First element of the list.

What is object orientation, What is object orientation? Object orientat...

What is object orientation? Object orientation means that we classify software as a collection of discrete objects that incorporate with together DS and behaviour. Four aspe

Variables and quantifiers - first-order logic, Variables and Quantifiers: ...

Variables and Quantifiers: Now we have to diagnose now that if we wanted to say that there is a meal at the Red Lion which costs only 3 pounds, is well sayed. Rather thenif we

Example of weight training calculations, Example of Weight training calcula...

Example of Weight training calculations: Through having calculated all the error values associated with such each unit like hidden and output then we can now transfer this inf

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

Name some of synthesizable and non-synthesizable constructs, Can you list o...

Can you list out some of synthesizable and non-synthesizable constructs? not synthesizable->>>> initial ignored for synthesis. delays  ignored for synthesis. ev

What is an interface and what is an abstract class, What is an interface an...

What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why.   In a interface class, all methods are abstract without execution w

What is an html tag, An HTML tag is a syntactical construct in the HTML lan...

An HTML tag is a syntactical construct in the HTML language that abbreviates particular instructions to be implemented when the HTML script is loaded into a Web browser. It is like

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