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 framework, What is framework? Framework is a skeletal structure...

What is framework? Framework is a skeletal structure of a program that must be elaborated to build a complete application. It has abstract classes.

Design a flash project, The only way to respond effectively to a design pro...

The only way to respond effectively to a design project is to first understand the topic well yourself. To do this you need to research the topic and ask yourself a series of quest

Calculate switching capacity in a two stage network, In a two stage network...

In a two stage network there are 512 inlets and outlets, r=s=24. If the probability that a given inlet is active is 0.8, calculate: Switching capacity Given: N =M =512, α

Characteristics of a pipeline, What are the main characteristics of a pipel...

What are the main characteristics of a pipeline? Ans: The main characteristics of a pipeline are: a) The speedup or efficiency gain by suing a pipeline depends on the numbe

Data dictionary, data dictionary for online banking system in software engi...

data dictionary for online banking system in software engineering

What is presentation layer, Q. What is Presentation layer? Presentatio...

Q. What is Presentation layer? Presentation layer: When two hosts are communicating with each other they might use different coding standards and character sets for represent

Representation scheme in ai, Representation scheme in AI: • It's fairl...

Representation scheme in AI: • It's fairly trouble-free to represent knowledge in this way. It allows us to be expressive enough to represent largely knowledge, while being co

Computer network architecture, A protocol is a formal description of messag...

A protocol is a formal description of message formats and the rules two or more machines must follow to exchange those messages. Because TCP (transmission control protocol) and IP

Object-oriented program and cell controlled class architectu, Object-Orient...

Object-Oriented Program And Cell Controlled Class Architecture To the variety of scenarios, generic cell control architecture can be applied. An object oriented programming lan

What are latches and flipflops, What are latches and flipflops? There a...

What are latches and flipflops? There are two types of circuits as follows: a. Combinational b. Sequential Flipflops and latches both come into the category of "sequen

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