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

Unity - variety - principles of composition, Unity / variety Unity is ...

Unity / variety Unity is created by the use of elements that look like they belong together, in other words the piece will have a feeling of internal  consistency. The most

Flynn’s classification, Flynn's Classification Flynn's classification i...

Flynn's Classification Flynn's classification is based on multiplicity of data streams and instruction streams observed by the CPU during program execution. Let Ds and Is  are

Perform on occurrence of an interrupt, Q. Perform on occurrence of an inter...

Q. Perform on occurrence of an interrupt? Determining these requirements let's work out steps that CPU should perform on occurrence of an interrupt. The CPU should find

Stack and queue, Describe queue? Ans:  It is a type of data structure ...

Describe queue? Ans:  It is a type of data structure in which the data are stored in and retrieved on a First in first out (FIFO) basis. It grows in the direction of increasin

Support concurrent programming, Q) a.Define the programming-language featur...

Q) a.Define the programming-language features that are required to properly  support concurrent programming? b. What support do these features need from the operating system?

What is redundant array of independent disks, What is Redundant Array of In...

What is Redundant Array of Independent Disks? Researchers are constantly trying to improve secondary storage media by raising their, performance, capacity as well as reliabilit

What is ''LRU'' page replacement policy, 'LRU' page replacement policy is ?...

'LRU' page replacement policy is ? Ans. Least Recently Used.

Principles for developing successful system, Q. Principles for developing s...

Q. Principles for developing successful system? (1)  Both developers and customers must be involved for accuracy in the information. (2)  A problem solving approach must be

Higher order predicate logic, Higher Order Predicate Logic : In the v...

Higher Order Predicate Logic : In the very first order predicate logic, we are only allowed to quantify over objects. If we are considered to allow ourselves to quantify over

Differences between a database index and a match code, What are the differe...

What are the differences between a Database index and a match code? Match code can have fields from several tables whereas an index can have fields from only one table.

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