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

Difference between field-group header and other field groups, What is the d...

What is the difference between field-group header and other field groups? The header field group is a particular field group for the sort criteria.  The system automatically p

What do you mean by inline function, The idea behind inline functions is to...

The idea behind inline functions is to insert the code of a known function at the point where the function is called. If done carefully, this can improve the application's performa

What is input - output interface, The I/O interface provides a technique fo...

The I/O interface provides a technique for transferring information between external I/O devices and internal storage. Peripherals linked to a computer require special communicatio

A switch statement , Which is more efficient, a switch statement or an if e...

Which is more efficient, a switch statement or an if else chain? Ans) The differences, if any, are likely to be small. The switch statement was designed to be efficiently impl

Difference between a substructure and an append structure, What is the diff...

What is the difference between a Substructure and an Append Structure? In case of a substructure, the reference originates in the table itself, in the form of a statement

Keyboard status word generator, Q.  Write short note on Interfacing Keyboar...

Q.  Write short note on Interfacing Keyboard, giving block diagram. Why do we need to introduce circuitry called Keyboard Status Word Generator?

Garbage collector to free the memory, In .NET Compact Framework, can I free...

In .NET Compact Framework, can I free memory explicitly without waiting for garbage collector to free the memory?  Yes you can clear the memory using gc.collect method but it i

What are subroutines, What are subroutines? Subroutines are program mo...

What are subroutines? Subroutines are program modules, which can be known  from other ABAP/4 programs or within the similar program.

What is collation, What is Collation Collation refers to a set of rules...

What is Collation Collation refers to a set of rules that verify how data is sorted and compared. Character data is sorted using rules that explain  the correct character se

Table - tr and td tags, Table, TR and TD Tags Three tags form the essen...

Table, TR and TD Tags Three tags form the essential ingredients for creating a table. TABLE: This is the main tag. It tells the browser that a table follows. It has attrib

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