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

Are there standards for electronic imaging, Are there standards for electro...

Are there standards for electronic imaging? Given the sensitive nature of most permanent records, there are microphotography standards in place which contain microfilm, compute

Instruction per cycle in RISC, Q. Instruction per cycle in RISC? One in...

Q. Instruction per cycle in RISC? One instruction per cycle: A machine cycle is total time taken to fetch two operands from registers perform ALU operation on them and store re

Determine the applications of recursion theorem, Applications of recursion ...

Applications of recursion theorem?  1.  ATM is undecidble.  2.  Fixed point theorem.  3. MINTM is not Turing recognisable

Describe about analysis, Analysis describes about the logical and statistic...

Analysis describes about the logical and statistical analysis needed for an efficient output. This involves writing of code and performing calculations, but most part of these lang

Illustrate single in-line memory modules, Q. Illustrate Single In-line Memo...

Q. Illustrate Single In-line Memory Modules? From early days of semiconductor memory till the early 1990s memory was manufactured, brought and installed as a single chip. Chip

Add references dialog box, What is the difference among "using System.Data;...

What is the difference among "using System.Data;" and directly adding the reference from "Add References Dialog Box"?  When you compile a program using command line, you add th

Defining data definition, Defining Types of Data ? The subsequent forma...

Defining Types of Data ? The subsequent format is used for defining data definition:  Format for data definition:  {Name}  Name -   a program references the data

Can you tell me some of system tasks and their purpose, Can you tell me som...

Can you tell me some of system tasks and their purpose? $display, $displayb, $displayh, $displayo, $write, $writeb, $writeh, $writeo. The most useful of these is $display. T

Why did some plug-ins disappear for 0.99.19, Some of the plug-ins have prov...

Some of the plug-ins have proven unstable. These have been moved into a split download, which should be available anywhere you got the GIMP, in the file gimp-plugins-unstable-VERSI

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