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

Hrm, hrm digrams

hrm digrams

Benefits of device controllers, Q. Benefits of Device controllers? Usin...

Q. Benefits of Device controllers? Using device controllers for attaching I/O devices to a computer system in place of connecting them directly to system bus has subsequent ben

Describe about directory in doc, Q. Describe about directory in DOC? We...

Q. Describe about directory in DOC? We all know that, the volume of the hard disk is generally quite large (10 MB to a few GB). You can keep hundreds or even thousands of files

Ease of learning - user friendliness, Ease of Learning - User Friendliness ...

Ease of Learning - User Friendliness Much has been made recently of increasing sophistication in technology with one of the major benefits advertised as an increase in somethi

User interface (ui), Design a easy (text-based/ graphical) UI for  your pr...

Design a easy (text-based/ graphical) UI for  your program.  The user should be encouraged for  parameter values for  the particular protocol simulation. For  example, the user sho

Explain register marker, Explain Register marker. Register marker: St...

Explain Register marker. Register marker: Strowger selectors doing searching and counting. Conversely, the crossbar switch has no 'intelligence'. Something external to the

How can i execute a php script using command line, Just run the PHP CLI (Co...

Just run the PHP CLI (Command Line Interface) program and give the PHP script file name as the command line argument. For instance, "php myScript.php", assuming "PHP" is the comman

Choosing a micro-controller, There are many different forms of micro-contro...

There are many different forms of micro-controller and a manufacturer, selecting the proper micro-controller for your application is one of the critical decisions which controls th

Why erlang is used, Erlang is used to (A) Measure busy period         ...

Erlang is used to (A) Measure busy period                (B) Give total busy period in minutes (C)  Measure average call rate       (D) Indicate total call period Ans

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