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 laser printers, Q. What is Laser Printers? Laser Printers are p...

Q. What is Laser Printers? Laser Printers are page printers. For print quality they also face same addressability issues as DMP/InkJet Printers. Though some other methods are p

Determine the bit value and bitstrings , Testing Your Program All progr...

Testing Your Program All programs must be thoroughly tested before they are released to users. Create some sample input files of a small size and manually figure out what the o

Provide constructors, For this assignment, fill out the following class:   ...

For this assignment, fill out the following class:   class person { private:   string firstName;   string lastName;   int weight; public:   . . . }; You should provide cons

What is public, * Public, protected and private are 3 access specifier in C...

* Public, protected and private are 3 access specifier in C++. * Public data members and member functions are accessible outside the class. * Protected data members and memb

How can we write an interrupt servicing routine, Q. How can we write an Int...

Q. How can we write an Interrupt Servicing Routine? The following are the fundamentalthough rigid sequence of steps: 1.  Save the system context (flags,registers etc. which

How many times browser on each computer has contacted server, Write a CGI p...

Write a CGI program that displays a count of how many times a browser on each computer has contacted the server. echo Content -type: text /html echo N=$QUERY_STRING Ec

Demonstrate arc consistency, Demonstrate Arc consistency: To demonstra...

Demonstrate Arc consistency: To demonstrate the worth of performing an arc-consistency check before starting a serarch for a solution, we'll use an example from Barbara Smith'

Explain organisations use in electronic data interchange, Explain about the...

Explain about the organisations use in EDI. Organisations, which are use Electronic Data Interchange. Extensive users of Electronic Data Interchange (EDI) include: BHS:

What is digital versatile disk, Digital versatile disk (DVD) This is an...

Digital versatile disk (DVD) This is an optical system for storing data. It's similar to CD though typically can hold 4.7 Gbyte of data compared to only 700 MB of data on a CD.

Vector reduction instructions-vector processing, Vector reduction Instructi...

Vector reduction Instructions : When operations on vector are being deduced to scalar items as the result, then these are the vector reduction instructions. These instructions are

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