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

Adding server-side include to the page, Step 1: Click on the icon in the ob...

Step 1: Click on the icon in the object tool bar Or Insert -> SSI Step 2: Select the file Step 3: Add the file Step 4: Provide the URL (where to be attached) Step

Introduction to parallel computing, Introduction  To Parallel Computing ...

Introduction  To Parallel Computing Parallel computing has been a subject of importance in the computing community over the last few years. Ever-growing volume of databases and

Reduce minimum literals and derive their complements, Q. Reduce following t...

Q. Reduce following to minimum literals and derive their complements. 1. [(AB)'A][(AB)'B] 2. ABC(ABC' + AB'C + A'BC) 3. (A+C+D) (A+C+D') (A+C'+D)(A+D')

Relationship between distributed and mobile computing, a) Briefly describe...

a) Briefly describe the relationship between distributed computing, mobile computing and pervasive computing. b) Suppose the following scenario, which demonstrate the possibili

Flow charts, n=(x*2)/(1=0) the value x=0 and is used to stop the algerithin...

n=(x*2)/(1=0) the value x=0 and is used to stop the algerithin.The calculation is repeated using values of x=0 is input. There is only a need to check for error positions. The va

Web technology, Write short notes on Event Model.

Write short notes on Event Model.

How does applet update its window when information changs, How does the App...

How does the Applet update its window when information changes? Whenever an applet requires to update the information displayed in its window, this simply calls repaint ( ) way

Average waiting time, Customer arrivals at a gas station can be characteriz...

Customer arrivals at a gas station can be characterized by exponential distribution with mean of 10 minutes. The amount of time they take to pump gas can be characterized by an ex

What are the disadvantages of bespoke software, What are the disadvantages ...

What are the disadvantages of Bespoke Software -  Very dependent on suppliers of the software; if they go out of business there would be little or no support if problems occ

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