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

What is oo development, What is OO Development? OO development is a way...

What is OO Development? OO development is a way of thinking about software based on abstractions that exist in the actual world. Development refers to software lifecycle, desig

What is strobe, What is Strobe. Asynchronous data are transfer among tw...

What is Strobe. Asynchronous data are transfer among two independent unit needs that control signals to be transmitted among the communicating units to indicate the time at whi

Let most segment of a name in dns represents, Let most segment of a name in...

Let most segment of a name in DNS represents? Lest Most segment of a name in DNS shows: Individual computer.

Information system today, What is the benefit of MITRE''s evolutionary appr...

What is the benefit of MITRE''s evolutionary approach to KM?

Gui status in a program from the object browser, Can we create a gui status...

Can we create a gui status in a program from the object browser? Yes.  You can make a GUI STATUS in a program using SET PF-STATUS.

Single instruction and single data stream (sisd), Single Instruction and Si...

Single Instruction and Single Data stream (SISD) In this organisation, sequential implementation of instructions is executed by one CPU having a single processing element (PE

Define e-commerce, Define e-commerce? The term 'electronic commerce' ha...

Define e-commerce? The term 'electronic commerce' has develop from electronic shopping, to imply all aspects of business and market processes enabled by the Internet and World

Massively parallel system and scalability, Massively Parallel System Re...

Massively Parallel System Refers to a parallel computer system having a great number of processors. The number in a great number of keeps increasing and currently it means more

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