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

Explain executing request using message-passing architecture, Explain the E...

Explain the Executing Requests Using a Message-Passing Architecture Executing requests using a message-passing architecture requires good fundamental client-server programming

Analysis of merge sort, i) The width of the sorting + merging circuit is eq...

i) The width of the sorting + merging circuit is equivalent to maximum number of devices needed in a phase is O(n/2). As in the above diagram maximum number of devices for a given

Explain call and return statements, Q. Explain Call and Return Statements? ...

Q. Explain Call and Return Statements? CALL:       CALL X    Procedure Call to procedure/function named X   CALL instruction causes the following to happen:  1.  Decre

List the properties which a hashing function should possess, List the prope...

List the properties which a hashing function should possess to ensure a good search performance. What approaches are adopted to handle collision? A hashing function h must poss

How cloud can be used in event schedules, How cloud can be used in Event Sc...

How cloud can be used in Event Schedules and Management with an example. Web-based calendars can be used to post dates and schedules for specific public events, such as school

Operations of a scientific calculator, A program is to be developed to simu...

A program is to be developed to simulate the operations of a scientific calculator. List the facilities to be provided by this calculator. Analyze this using a DFD 0- level and 1-

Simplify the expression by using karnaugh map, Simplify   the   following  ...

Simplify   the   following   expression   into   sum   of   products   using   Karnaugh   map F(A, B, C, D) = ∑ (1,3,4,5,6,7,9,12,13) Ans. Simplification of the giv

Appropriate problems for ann learning , Appropriate Problems for ANN learni...

Appropriate Problems for ANN learning - artificial intelligence-  As we did for decision trees, it is essential to know when ANNs are the correct representation scheme for the

Develop a program which reads hexadecimal number, Q.  Develop a program, wh...

Q.  Develop a program, which reads Hexadecimal number from an input file & convert it into Octal, Binary, and Decimal. The O/P should be written to a file & displayed accordingly.

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